既然作者说了,代码大全就是“关于软件构建技术的手册”,那自然要弄清楚什么是软件构建。但要从需求分析、详细设计、编码、单元测试。。。。这么多活动中确定哪些是构建,还不如先弄清楚什么不是软件构建。
P6提到“一些非重要的非构建活动包括管理(management)、需求分析、软件架构设计、用户界面设计、系统测试、以及维护。”,需求分析和架构设计都是在构建活动开始之前就完成的基础工作,它们可以让你更有效地进行构建;系统测试(严格意义上的独立测试)则是构建活动的后续工作,用以验证构建的正确性。这基本上可以确定了哪些不是构建,我的理解是:编程前和编程后进行的工作,都不属于构建。当然这里很难严格区分界限,可以把编码、调试、单元测试理解为整个编程过程(至于书中提到属于构建的详细设计、集成测试我的理解应该是界于构建与非构建之间吧)
自己给构建一个定义:构建活动主要是编码和调试,但也涉及详细设计、单元测试、集成测试等其他活动,构建活动的产物是源代码(所以与产生源代码这一结果关系密切的,应该都可以归入构建活动中)