English

规范中的乐趣

2003-07-02 来源:中华读书报 郑伟 我有话说
俗话说“没有规矩,不成方圆”。作为专业的程序员,即便在程序设计工作中总能创造性地奇思妙想,你也必须遵守一定的规则和限制。从这个意义上讲,编码风格(style)的重要性是不言而喻的。现代软件项目的开发往往需要团队协作,因为你所编写的代码不仅仅是给自己阅读的。况且,代码风格的简单一致通常会减少bug;相反,对于风格糟糕的代码,程序员往往宁愿重起炉灶,也不愿去阅读和维护。

《Java编码规范》是一本针对Java编码风格的小册子,取材自Scott Ambler制定的Java编码标准和Rogue Wave公司的编码风格文档。Scott Ambler是知名的对象技术专家,也是The Object Primer,Process Patterns,More Process Patterns等(Process Patterns和More Process Patterns中文版也将由人民邮电出版社出版)很有影响力的技术图书的作者。Rogue Wave是第一个可视化Java开发工具JFactory的开发商,它们还开发出了JWidgets,Chart.J和StudioJ等基于Java语言的程序库和组件,还曾获得包括Software Development杂志效率大奖在内的众多奖项。

这本书的诞生过程很有趣。在Rogue Wave公司发展壮大的过程中,公司的创建者Tom Keffer深深体会到很难让所有的程序员都遵从一致的工作规范。于是,Tom编写了35页的C++编码工作规范,并将它发到每个新雇员的手上。这个规范的效果很好。当客户要了解Rogue Wave公司如何保证代码的一致性的时候,他们告知客户有这样一份规范,并且也送给客户一份。消息传开了,Tom的规范还被写进公司的技术报告。Rogue Wave公司送出了上千份规范,并且得到了非常积极的反馈。好的习惯和方法在Java项目的开发中得到了保持和延续。当Scott Ambler看到“Java编码工作规范”最初的草稿时,他建议和他自己在网上发布的Java编码标准进行整合——于是,这本薄薄的《Java编码规范》诞生了。

《Java编码规范》共总结了108条Java编码原则,分为一般原则、格式、命名、文档、编程、包6大类。这些原则或具有一般的指导性(例如第1条“遵从原始代码的风格”),或具有较强的约定性(例如第5条“缩进嵌套代码”),或具有明确的启发性(例如第89条“根据契约编程”),或具有很强的可操作性(例如第98条“考虑用notify()取代notifyAll()”),养成良好的工作习惯对迅速提高专业素质有很大的帮助。不管是原则本身的表述还是具体含义的阐释,语言都简洁明了、易于理解。值得一提的是,本书用了1章(34条)的篇幅,对Java程序的文档和注释作了非常详尽的规定,尤其是在编写文档注释方面,更是巨细不遗。程序注释的高度规范有助于Javadoc工具提取高质量的程序文档。规范注释的重要性在《Java编码规范》中得到了很好体现和强调。在详细阐释了这108条原则之后,本书的“Summary(总结)”部分对这些原则给出了统一整体的呈现,使读者在速查的时候可以一目了然。

《Java编码规范》的原书出版以来,得到普遍的赞誉和广泛的好评(可参见Amazon网站上的书评)。这本英文版的小册子,非常适合于专业的Java程序员和软件项目管理人员阅读;而对于那些苛求一致性的软件项目开发团队,这本小巧的“口袋书”更是方便的必备“工具”。

当前,很多有远见的软件公司非常注重内部开发语言工作规范的建立。国内也开始出版这方面的技术书籍。但是,我们几乎还看不到有关Java编码规范的图书正式出版。从这个意义上讲,这本《Java编码规范》并不是程序员和软件开发商的“紧箍咒”,而应该有更进一步的启发意义,帮助他们在科学、可行并且适合于自己的规范中提高开发效率,改善代码质量,体会编码乐趣,获取更多自由。

手机光明网

光明网版权所有

光明日报社概况 | 关于光明网 | 报网动态 | 联系我们 | 法律声明 | 光明网邮箱 | 网站地图

光明网版权所有