读完《软件开发沉思录》这本书,将我目前小白的身份暴露地淋漓尽致,只能接着他人的读书笔记,勉强概览了整本书,以下是我的一些体会和感悟。
书中内容大体是按照软件工程的敏捷开发方式流程来写的,开篇首先提出了“最后一英里问题”的成因以及相应的解决对策。第三章谈到了Ruby编程的相关内容,由于我没有Ruby编程经历,所以难以领悟到其精髓,但是这种同样功能的不同实现确实给我留下来较为什么的印象。第五章中多语言开发则强调了掌握多门语言的重要性。在作者看来,语言不过是一种武器,而武器自身有它的发展和进化。如果武器不好使,那么就换一种,你觉得不好用,不意味着别人就觉得不好用,没有必要把它踩在脚底下践踏。例如,在Java平台可以使用不限于Java语言的多种语言编程,也就可以摆脱Java语言的束缚,在一些场景下选择更适合的其他语言,从而更快更好更简洁地开发代码,实现需求。以我有限的经历为例子,最近学习matlab,需要实现各种代数运算和几何作图。其实,只要不是矩阵运算,很多情况下,用C实现相关的功能比matlab要快,老师也提供给了我们在C语言环境下的实现代码。这就说明每种语言都有各自的优势,编程语言的演变不只是一味地推陈出新,而应该是兼容并蓄的过程。
后面谈到的代码规范,对我的启发还是比较大的。作者的主张的本质就是让每一行代码,每一个方法,每一个类,每一个源文件,都尽可能的简单。比如,每一行只出现一个“.”操作,即不允许对象的多层调用;每个方法中,只有一级缩进,即不允许多种代码结构进行嵌套;每个类中,最多有两个属性;每个源文件控制在50行左右。可以说,目前对于我这个实现功能后觉得很不错的小白来说,实际的软件开发过程中按照这个规范形式恐怕不太可能,但是这毕竟也算是给我树立了一个标杆,不管怎么样,尽可能地按照这个规范行事,相信如果我们后期的五人大作业在这方面多花些心思,省去的将是后期代码维护整合还有修改的痛苦和烦恼。
后面的些许:项目生命周期中的一些管理指标和运用的技巧(第8章);接口定义的方法(第9章);Ant的重构技巧(第11章);项目发布要遵循的标准(第12章),虽说都是些泛泛之谈,勉强也能读得下去,但是还是高出了我目前层次不少。第一次尝试技术性稍强的书,而且过去一周时间还算充裕了,都只能浅尝辄止。我也只能说“尽力而为”了。