《代码大全》读书心得

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

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

• 一些一般的构建过程

1. 定义问题

2. 需求分析

3. 规划构建

4. 软件架构

5. 详细设计

6. 编码与调试

7. 单元测试

8. 集成测试

9. 集成

10. 系统调试

11. 保障维护

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,430评论 25 709
  • //我所经历的大数据平台发展史(三):互联网时代 • 上篇http://www.infoq.com/cn/arti...
    葡萄喃喃呓语阅读 51,452评论 10 200
  • 十几二十岁的时候喜欢用诸如孤注一掷背水一战这种决绝之词,以为青春就该以奋力的姿态。后来,多了一点经历,也就不再沉溺...
    糜芜居士阅读 3,418评论 0 50
  • 塞北大漠,胡天孤雁,漫山的牛儿羊儿,却为何不见你婉若春风的模样? 血染夕阳,江山迟暮,众生的笑啊泪啊,又几曾撼动我...
    易郁生阅读 4,221评论 0 2
  • 我不停地前进 像一只没有脚的鸟 飞过很多很多地方 也看过许多许多片云彩 也遇到过一个刚刚好的女子 只是,我不能停留...
    长安来客阅读 1,072评论 0 0