《构建之法》读后感
今年我将要迈入大二,虽然选择了软件工程,但是并不了解。阅读《构建之法》这本书后,我对软件工程这门专业有了更深刻的认识。我现在知道了软件工程与计算机科学与技术的区别:计算机科学注重的是理论,偏向于硬件方面,而软件工程则注重实践,偏向于软件方面。
过去我不理解为什么面向对象比面向过程高效,现在我知道是因为面向对象的代码可重用性高。我过去写代码的时候老是喜欢用c而不是c++,看见一个问题首想用c解决,而且总是过于急切地解决问题而忽视了分析。当然我知道也不能过度思考细节而忘记落实。现在,在动手实践之前,我会大概画好一个草图,或者规划好大致,不会过分考虑细节而导致自己迟迟不能动手。结合书中所讲,以后动手前需想好框架和注意点,基于软件可扩展不允许修改的原则去写代码。
这本书让我深刻认识到一个软件不是简简单单就能说写就写的,还需要考虑各种因素,如人们的需求,功能的可行性。并且,在写前充分考虑到客户的需求,是非常必要的。很多时候,或许我们会凭自己的习惯而忽视了顾客的想法。这是万万不可取的。
其次,代码的问题越早发现越好,这样就越好补救,即使自己已经信心十足,也要细致地检查,很多微小的错误往往隐藏在细节之中。这时候,多人轮流交替检查更可以确保代码的正确性。这并不是浪费时间,相反,这恰恰在提高效率。能够有效帮助写出更高质量的代码。
诚然,对于一个成熟的软件产品而言,重要的不仅是优秀的代码,更是架构、功能、交互逻辑、用户体验。软件工程行业需要我们能够写出完成需求、简洁没有bug的代码,同时也需要我们能够搭建项目整体框架、剖析用户需求和心理、与团队中不同职能的人相互配合、进行高效率的软件开发。对此我发现我们要学会需找合适的团队合作模式和开发流程。书本上提到了很多的团队合作模式和开发流程,都各有优缺点。仅仅从校园合作的角度出发,我认为使用功能团队模式更适合彼此合作交流,而开发流程在校园合作阶段,容易被忽视或是考虑的不全面,这需要要着重培养。在编程中,我们还需要用较短的时间去融入团队,更快地看清自己的定位以及认识到同伴的优劣势去帮助我们更好的提高效率去编程。
总体来说,软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。要学好它,并不仅仅是写代码这么简单,团队合作和创新也十分重要。在今后的学习里,我将更严格地要求自己,重视大局,也不忽视细节。