• 2004-02-19

    绿色编程

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/dreamhead-logs/94904.html

    先来说一点与编程无关的东西,昨天中国队踏上了第八次冲击世界杯的行程。
    我对这支新国家队一直缺乏关注,鉴于这场比赛和世界杯联系在一起,我才坐到电视机前。
    赢了的比赛,出乎意料的过程,理想的结果,不理想的比分,这是我对这场比赛的观点。
    中国队一如既往的失误频频,非常符合我心目中的中国队形象,但能够偶尔打出一些流畅的配合,出现一些诸如脚后跟传球,让我有些惊讶。全场比赛科威特没有一脚射门,只能用这支队伍实力太差来解释,很难想象这是昔日的西亚劲旅。李玮峰脸上被吐了痰居然没有动手,我诧异于中国队的成熟。
    小组赛在我心目中是个无足轻重的角色,现在的中国队比起施大爷那支折戟沉沙于伊比尔德的中国队已经成熟多了。

    好了,切到绿色编程的话题。
    提起绿色,人们首先想到的应该是环保,而绿色编程是我想起一个形容程序环保卫生的名词。
    我现在多半是在用IntelliJ IDEA写Java程序,通常IDEA会在静态的状态下对程序进行一些分析,如果有语法错误,它会以红色提示出来,遇到了一些不是错误但可能会有问题的地方,它会以黄色警告,而绿色代表了静态分析中的万事大吉。
    通常的情况下,红色的部分一定要进行处理,霸王硬上弓得到还是编译器的语法错误。一旦红色消声匿迹,编译器基本上也就不再滋事,程序就可以跑了。

    问题在黄色。
    先来看看可能出现黄色的几个例子:import的类没有用到;多余的类型转换,变量赋值而未使用,private方法或变量没有使用,某些变量或是参数可以声明为final等等一般来说,黄色的警告并不意味着问题,程序多半可以悠哉游哉继续跑下去。黄色更多的是代表着一种程序设计风格。

    程序设计风格对程序员来说意味着什么呢?
    贝尔实验室的大师级程序员Brian W.Kernighan和Rob Pike在他们的经典之作《程序设计实践》开篇第一章讨论就是风格。大师们如是说:“风格的作用主要就是使代码容易读,无论是程序员本人,还是对其他人。好的风格对于好的程序设计具有关键性作用。”

    积沙成塔应该是一个人人都清楚的道理,任何的软件都是由一行行的代码所组成,好的程序风格既是编码者本人良好素质的体现,也是对于阅读代码者的尊重。代码风格与代码质量密切相关。
    Effective系列之作的火爆充分反映了程序员们对于编写高质量的渴求,谁不希望自己超越平凡呢!
    实际上,好的程序设计风格同好的程序设计实践和一些编程惯用法之间很难做出明确的区分,比如以多态替代if-else是风格还是什么呢?
    拥有良好风格的代码,使得基于此编写烂代码成了困难,软件质量将由此得到提升。

    代码风格直接影响到后期的维护。
    没有良好的程序设计风格,胡乱拼凑出来的代码绝对是跟后来的维护者过不去(多半这个维护者就是编码者本人)。所以,经常有宁愿重写不愿阅读的说法。看看一些开源作品,精致的代码是许多项目持续稳定发展的基础。

    当然,并不是说好软件的代码就是那么的完美无缺,拜读一些开源精品的时候,偶尔也会遇到一些让人难以恭维之处。

    好的程序风格绝不是一两天就可以养成的,更多需要日积月累。
    既然能够现如今已经有了许多可以助我们一臂之力的工具,我们更有理由写出高质量的程序。
    一切从细微之处入手,让黄色成为过去,开始绿色编程。

    分享到:
    引用地址: