代码的未来

代码有将来么?

 

首先,我承认,我做了一把名副其实的标题党。代码不是帅哥美女,哪里谈得上什么将来。然,此将来非彼将来。

 

我的代码将来一定在我的手里么?

 

答案肯定不是,至少肯定不会在我一个人手里握着。

 

好吧,矛盾产生了!既然不会只在我一个人的手里,那我似乎、应当、也许、大概、可能、好像要让我的代码有很好的可阅读性和可维护性,以便于让后来人缩短阅读理解和维护我的代码所消耗的时间。往大了说还可以缩短整个项目在后期维护当中所消耗的时间。

 

帽子扣大了,不过的确如此。

 

我曾经修改过某“专家”的一部分代码——20000行的js脚本,0注释。结果是什么呢?我骂了两个小时的街,然后把原创作者给找来,他也骂了两个小说,然后告诉我看不懂。

 

最好的代码编写者,我觉得可以做到“自解”。除了必要的编写者信息和时间信息之外,没有任何注释,因为自解代码不需要注释,我们依然看得懂。这样的代码有清晰的逻辑关系,每个类、每个方法都不会很长很繁冗;而且有明显的重构痕迹,尽量低的代码冗余;还有就是一个容易理解的命名法方式。这应该是自解代码的基础特性的一部分。

 

当然,如果写不出自解代码,那么代码就应当有清晰的缩进和注释。

 

有人会说,注释什么的有什么用?占字节,又没实现什么功能,几百年也不会有几个人看一次。的确如此,但换言之,如果我们在阅读或修改一段没有注释,没有缩进,没有折行,逻辑不清的代码时,是什么心情?

 

 

注释是必要的,除非你是干嵌入式编程的。否则,编写出一段连自己都看不懂的代码,那人就丢大了。

 

好的代码,不仅仅是实现功能,更主要的是它要具备良好的可阅读性和可维护性,以减少项目后期的维护和修改工作中投入人力物力。我想这是一个程序员所应该具备的基本素养。每个程序员编写的代码,其实都要保证在几个月之后,自己和别人依然读得懂。换言之,一段糟糕的代码扔给别人去维护,那后来人不会觉得它很高深,反倒会觉得它很垃圾,唯一的结果就是弃之不用,因为多数情况下,与其去理解一段没有注释又不能自解的代码,还不如自己把整段代码重写一遍。

 

我们的代码,将来会如何?被颂为经典,还是弃为糟粕呢?

 

每一行代码,都有它的将来。好的代码在将来既不会折磨别人,也不会折磨自己。如果,每个程序员都稍加注意自己的编码规范,那便不会有人受折磨,包括自己。

 

同志们,要小心!你的代码不要在将来被抓出来做反面教材。

 

(补充:一位素未蒙面的朋友正在编写一本书,名为《丑陋的代码》,小心不要上榜!)

 

 

 

 

 

 

 

 

 

 

 

posted on 2011-09-29 11:12  菜刀Charlie  阅读(2156)  评论(6编辑  收藏  举报