这是一本能让程序员站在更高的层次上思考软件的构建,让程序员跳出编码的局限,了解一些编码之外的软件工程思想的书。
这本书每章和每章之间的联系并不是非常紧密,可以从头读到尾,也可以按自己想要看的主题来分别读。
第一章主要讲了软件的构建活动的重要性,然后在1.3给读者提示如何阅读本书。软件构建的主要活动包括:详细设计、编码、调试、集成、开发者测试(包括单元测试、集成测试)
第二章主要讲的隐喻。隐喻相当于类比,将不太熟悉不太理解的东西类比成自己熟悉理解的东西,这种方法叫”建模“。计算机里就有一些隐喻:特洛伊木马(Trojanhorse)、臭虫(bug)。隐喻是一个想法、一个启发,它的结果不是一个确定的东西,但是它可以对我们编程有所帮助。
我们可以把软件的开发隐喻成牡蛎的生长,这就是软件的牡蛎养殖观点。首先构建出软件的骨架。这个骨架可以不具备处理数据等功能,但它要足够强壮,可以支撑起要开发的系统。然后是添加替换虚假的肉皮肤等东西。骨架有了,肉可以一点一点的”生长“,这就是”增量式开发“的思想
第三章强调了一种思想,进行软件开发之前要三思而行,梳理清楚需求再着手设计,不然在软件开发过程的后期,前期的缺陷会被放大,轻则工期延长,重则项目无法进行。这一章主要内容是怎么”构建“,我们需要做什么。
写代码之前一定要做好思考构建工作,否则会浪费更多不必要的时间。虽然我现在写的程序并不大,但是如果不在写之前做好构思,那么总会出现各种问题,后期总是因为这些之前没有想到或者认为这里直接这样做就可以解决的问题花费更多时间。