要想着以后总有人来维护你的代码

  忘了哪位牛X的大大说过:永远要想着维护你代码的人是一个有暴力倾向并知道你住址的精神病人。

  的确如此,最近我又再一次感受到了阅读难以维护的代码是一件多么痛苦的事。我目前的任务是开发一版密码键盘,对方公司发给我一个demo的源代码,值得我参考的模块大约是4000行代码。结果一看,就这么一个小模块,全局变量就有几十个了,埋伏在这个模块的每一个地方。变量名字很多也没有定义好,也没有多少明确的注释。每一次看到一个全局变量我都很要查查之前是否在别的地方已经修改了,只能小心翼翼地在SI上面不停地跳转,浪费了不少时间。

  事实上,这种现象并非个别。我相信还是有不少软件公司的代码也是如此。到底是什么原因造成的?是我们的程序员太浮躁?是项目经理急着上线不让程序员重构?是我们对待产品以及客户的态度不够端正?我是一个在IT行业的新人,无法知晓具体的缘由,种种原因都可能存在。但是我觉得最重要的还是在于程序员本身。这让我想起了孟岩老大很久以前写的一篇文章,叫《程序员应该走向专业化》。有些时候我们经过简单的测试,觉得已经“完成”了任务,就直接把写过的代码冷落在一旁了。没有code review,没有autotest,没有refactoring,注定要造成产品的不稳定。也许对于小项目姑且可以混过去,但是如果对于大项目,前期设计如果做得不好,后面根本无法做;中期代码如果写得很糟糕,后面势必有一大堆bug等着去fix,也许,为时已晚了,项目注定要失败,所有努力付诸东流。这不仅让我不寒而栗,做了那么久的项目说不做就不做了,谁甘心?

  所以我们要做的,就是要想这以后永远有人来阅读你的代码,维护你的代码。要从设计、逻辑等大处方面着手,同时也要充分注意细节的影响,比如函数名、变量名等等。最近在拜读《代码大全》这本大著,Steve McConnell 极其耐心地为我们讲解了软件开发过程中要注意的种种问题。也许里面有些问题我们认为不足以注意,然而往往正是这些非常细小的地方影响了你的成败。简单的道理:好的作品正是从这些一点一滴,大大小小的细心编织而成的。

  我想,人生也如此。

posted @ 2010-06-22 21:52  Linjian  阅读(896)  评论(2编辑  收藏  举报