写代码如同打扫屋子, 有句话叫一屋不扫何以扫天下. 如果单个的一个模块代码都不能管好, 如何成就一个完善的软件系统? 今天我们来说说, 一个代码模块的代码是如何一步步腐化变质, 到最后程序员都不愿意去维护它, 然后要么重构, 要么废弃换新模块的?
代码是有一定的周期的, 这个没有错. 为什么有的代码跑上几十年任然好用, 而现在互联网公司的很多代码, 每年都要做好几次重构? 一个成立 2 年的互联网公司, 做一个支付系统, 可以做了 4-5 代, 每次重构, 这样的代价有多大? 如何才能让原有的代码生命周期更加长, 而不增加很多的学习维护成本, 开发一次使用更久呢? 大部分程序员是没有很多机会从 0 开始搭建一个新程序的, 更多的时候是接手别人写的代码. 有代码移交还好一点, 往往因为各种因素, 这些因素你懂的, 没有产品文档, 没有设计文档, 没有程序说明, 程序里可能连注释都没有. 然后, 程序员更新换代又极其的快, 互联网时代, 程序员在一个公司的平均年资也就 1 年多, 程序就又被传给下一任维护者. 很大可能的情况是, 最终到你手里的程序各种问题, 却能实现基本的功能需求, 但代码内部各种问题让程序员总有一个冲动, 重构它. 今天不想说重构的问题, 而是从根源角度分析, 程序为什么会变成这个样子?
来源: http://www.tuicool.com/articles/uqAzqqu