代码行数引起的思考
今天读了 Steve Yegge 的 Code's Worst Enemy 触动了我,将自己的看法也记录下来。
Steve Yegge 说“......I believe, quite staunchly I might add, that the worst thing that can happen to a code base is size.”。
我觉得庞大的代码库是极难维护的,而且不断的维护只会让它越来越大。
“......My minority opinion is that a mountain of code is the worst thing that can befall a person, a team, a company. I believe that code weight wrecks projects and companies, that it forces rewrites after a certain size, and that smart teams will do everything in their power to keep their code base from becoming a mountain. Tools or no tools. That's what I believe.”
多年的工作让我非常认同他的观点:山一样的代码是一个人、一个团队、一家公司所以遭遇的最严重的灾害。
当 团队、公司的开发成员不断的流动时,原有的代码库只能越来越大。某些功能的实现其实它已经存在,可是因为你对它的不了解、甚至忘了它们的存在。到了那个时 候,你将(不可避免地)编写它的新实现。试想去搞清楚一个包含多个项目的解决方案,它的代码在100,000行左右,你需要多长时间。可是100,000 并不是最终的值,它还在因为需求、bug等原因在不断的增加。尝试辨认出总体的结构可能就要花费数周甚至数月,这取决于信息的密度。重大的架构变更可能需 要数月甚至数年。
.net framework 的版本在不断的更新,每一次都会增加一些帮助程序员减少代码行数的内容,如2.0中的 C# 关键字 yield、3.5中的 LINQ 等等。但每一次版本的变更对于部分程序员来说都是痛苦的,因为他们要去学习新的东西。在新的开发工具和框架版本出现时,我见过的对于在先前版本中编写的程 序最多的作法,也只是简单的迁移而不是用新版本的语言去升级。即使它漏洞百出,也是如此。
或许我是错的但到目前为止我还是坚信:不仅是在架构设计上,在程序的任何脚落都要保持简单。简单的才是最好的!
KEEP IT SIMPLE!!!
posted on 2007-12-27 14:24 Easy Company 阅读(315) 评论(0) 编辑 收藏 举报