《代码大全》读书心得

这一周简略地看了一遍《代码大全》第一部分。

第一部分基础篇主要讲了开发软件前的构建工作及其重要性。

• 一些一般的构建过程

1. 定义问题

2. 需求分析

3. 规划构建

4. 软件架构

5. 详细设计

6. 编码与调试

7. 单元测试

8. 集成测试

9. 集成

10. 系统调试

11. 保障维护

在这里可以看到,软件开发并不只是编写代码,构建活动才是软件开发中的核心活动。而且在构建之前,往往还要进行谨慎的需求分析和架构设计。

有一章题为《问题定义的先决条件》,“问题定义”定义的是问题,而不是解决方案,它应该是一个很简单的陈述,应该从用户的角度来描述。比如“我们跟不上Gigatron的订单了”这样的句子就是一个好的问题定义。而“我们需要优化数据自动采集系统,使之跟上Gigatron的订单”这就是很糟糕的问题定义。

问题定义的下一步是需求分析,明确的需求为架构到设计到编码到测试的一系列工作提供的有序的、可预测的保障,并且要合适地处理需求变更。

书中还讲了常见的软件隐喻,提到了《人月神话》中,Brooks说:“要计划抛弃一个,你必定会那样,无论如何。”文字写作这一隐喻暗示着软件开发过程是一种代价昂贵的试错,我们应该在作第一次尝试或者成本最低的时候多试几次,让它成功。对于软件的构建,书中提到了几种隐喻,最为准确的是“建造软件”的说法。开发软件的过程可以比作建一栋房子,一步步设计的过程非常关键,糟糕的设计所引发的后果也更严重。

你可能感兴趣的:(《代码大全》读书心得)