本书在笔者实习时就已经开始阅读,按照自己的所处阶段有间隔的分成了3次阅读,一直到现在终于完成了。读者千万不要认为这本书真的只是“代码大全”,在我看来,这本书就是软件工程师的心法,提升软件工程的认知、意识。各种技术层出不穷,也有很多技术最终消失在时间里,但这本书的精髓则适用于每一代软件开发者。
本身还提供了各方面的CheckList,可以借助这部分CheckList培养自己的意识。
由于之前阅读的书籍中,有些内容与本书有重合,或者比本书讲的更透彻,这里只记录了书中的部分章节。
第一章:欢迎进入软件构建的世界
1、什么是软件构建?
软件构建可以理解为软件开发中真正要动手做的那部分,主要活动包括详细设计、编码、调试、集成、开发测试(单元测试和集成测试)。
2、软件构建为何如此重要?
软件构建是软件开发中的主要活动,是软件开发的核心,占用了软件开发中的30~80%的时间,是软件开发中唯一一个必须要完成的部分,源码也是最新最精准的文档,软件构建的质量直接关系着整个项目的质量,把注意力放在软件构建上能够大大提升程序员的开发效率。
第二章:用隐喻更充分的理解软件开发
1、当将软件的构建过程比作房屋的构建过程时,可以发现,仔细的准备是必要的,发生变动时最贵的成本是人的时间,而大型项目和小型项目之间也有差异。
2、软件开发实践中,每位工程师都有许多工具,但不存在任何一个能适用于所有工作的工具,因地制宜德尔选择正确工具是成为能有效编程的程序员的关机。
第三章:三思而后行:前期准备
1、核对表(细节可参考文中描述的原则核对)
①是否辨明了自己所从事的软件的类型,并对所用的开发方法做出相应的剪裁?(许多项目是高度迭代的,某些则应该是序列式的)
②是否充分明确定义了需求?而且需求足够稳定,能够开始构建了?(详见需求核对表)
③是否充分明确的定义了架构,以便开始构建?(详见架构核对表)
④是否已经指出当前项目中独有的风险?(以避免构建活动面临不必要的风险)
2、在项目初期关注质量、发现问题,远比后期发现解决成本更低。
第五章:软件构建中的设计