构建之法

问题一:

学习了《构建之法》的第一章后,根据移山公司程序员阿超为给儿子每天出30道加减法题目给孩子做,而设计了一个小程序,老师看了之后觉得这个程序不错,就提出了一系列的需求,希望阿超可以改进的例子我了解了软件开发的流程是需求分析、概要设计、详细设计、编码、测试、软件交付。要设计一个软件要从需求分析开始,可是用户的需求是多种多样的,有的需求比较明显,程序员容易理解,但有的需求不是很明显,或程序员理解不了用户的需求或无法解决用户的需求的时候,程序该如何编写呢?

问题二:

学习了《构建之法》的第二章后,根据小飞和阿超的对话的例子,我知道了一个软件要想发布,必须要写单元测试,来发现软件存在的问题,并进行修复。所以单元测试要有一个标准:(1)单元测试应该在最基本的功能/参数上验证程序的正确性 (2)单元测试必须由最熟悉代码的人(程序的作者)来写 (3)单元测试过后,机器状态保持不变 (4)单元测试要快 (5)单元测试应该产生可重复、一致的结果 (6)独立性(7)单元测试应该覆盖所有的代码路径 (8)单元测试应该集成到自动测试的框架中 (9)单元测试必须和产品代码一起保存维护。但是如果单元测试不是由程序的作者来写的,后期进行测试的人员对代码不熟悉以至于看不懂代码的话,应该如何进行测试、修复呢?

问题三:

学习了《构建之法》的第三章后,我明白了一个好软件的是由一个团队共同开发出来的,团队要交流、要做好自己的工作,那么在这一个团队中,肯定每个人的能力有高有低,那么应该怎样才能提升一个人的开发技能呢?

原文地址:https://www.cnblogs.com/sunmiaokun/p/10487476.html