代码的艺术:用工程思维驱动软件开发
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.4.1 好代码不止于编码

好代码从哪里来?

对于这个问题,很多读者肯定会说:“好代码肯定是写出来的呀。”

我曾做过多次调研,发现很多软件工程师日常所读的书确实是和“写代码”紧密相关的。

但是,这里要告诉读者的是,代码不只是“写”出来的。在很多年前,我所读的软件工程方面的教科书就告诉我,编码的时间一般只占一个项目所花时间的10%。我曾说过一句比较有趣的话:

“如果一个从业者告诉你,他的大部分时间都在写代码,那么他大概率不是一个高级软件工程师。”

那么,软件工程师的时间都花到哪里去了呢?软件工程师的时间应该花在哪里呢?

好的代码是多个工作环节的综合结果。

(1)在编码前,需要做好需求分析系统设计。而这两项工作是经常被大量软件工程师忽略或轻视的环节。

(2)在编码时,需要编写代码编写单元测试。对于“编写代码”,读者都了解;而对于“编写单元测试”,有些软件工程师就不认同了,甚至还有人误以为单元测试是由测试工程师来编写的。

(3)在编码后,要做集成测试、上线,以及持续运营/迭代改进。这几件事情都是要花费不少精力的,比如上线,不仅仅要做程序部署,而且要考虑程序是如何被监控的。有时,为了一段程序的上线,设计和实施监控的方案要花费好几天才能完成。

因此,一个好的系统或产品是以上这些环节持续循环执行的结果。