程序员在开发软件前,需要预估开发周期,一般可以按如下时间安排来估算开发周期:
- 1/3 时间用于设计
- 1/6 时间用于编码
- 1/4 时间用于单元组件测试
- 1/4 时间用于系统集成测试
可以注意到, 编码时间是最少的,设计时间也是编码的 2 倍,测试时间占到了一半时间。这样的安排也间接说明,要留给调试/测试更多的时间,因为程序员代码写的再好,也难免有疏漏和缺陷,需要通过完善的测试来发现隐藏的问题,多次问题修复、测试的迭代流程会耗费很多时间。如果考虑不全,则会造成项目延期。
另外,软件设计中的功能和逻辑复杂度直接决定了编码的工作量,因此,花费更多的时间去做好软件设计是事半功倍的。