1.
总的约定
尽管编写一个运行良好的软件是很重要的,但是许多其他的问题也是一个专业的Java开发人员所应当考虑的。所有的好软件都会运行良好,但是采用风格编写的伟大的软件,却是可预知的、健壮的、可维护的、可支持的以及可扩展的。
1. 保持最初的风格。
在修改原有软件时,应当保持原有代码的风格。1不要在修改过程中引入新的代码风格,不要试图重写旧软件只是因为想让它匹配新的风格。在单个源文件中使用不同风格会使得代码更难阅读和理解。只是修改风格的重写旧代码可能导致代价高昂而又本可避免的缺陷的引入。
2. 遵守最小惊奇原则。
最小惊奇原则建议你应当避免做一些让你的软件用户吃惊的事。这指的是软件表现出的交互和行为必须是可预知的并且是始终如一的,2如果不是这样,必须在文档中清楚地明确并证明任何不寻常的用法或行为都是正确的。
为了将用户在软件中遭遇意外的可能性降至最小,应当在Java软件设计、实现和文档中强调以下几个特性:
简单性
构建简单的类,简单的方法。确定你需要构建多少以满足用户的期望。
明确性
确保每一个类、接口、方法、变量和对象都有一个明确的用途。对每一个都要说明在何处、何时、为什么以及如何使用。
完整性
提供任何合理的用户期望找到和使用的最少的方法。创建完整的文档;所有的特性和功能都要文档化。
一致性
相似的实体应当看起来和表现相同;不同的实体应当看起来、表现不同。只要有可能就应该创建和应用标准。
健壮性
为响应错误和异常提供可预知的文档化的行为。不要隐藏错误,不要强迫客户端检测错误。
3.第一次就应当做正确。
将这些准则应用到你编写的任何代码中,而不只是产品本身的代码。有些原型或试验性的代码片断经常会注入到一个已完成的产品中,因此你应当预期到这种可能性。即使你的代码永远不会成为产品的一部分,其他人也可能需要阅读它。任何必须要看你代码的人将会欣赏你从一开始就坚持采用这些准则的职业态度和预见性。
4. 任何违背都应当进行文档说明。
没有哪个标准是完美无缺的,也没有哪个标准是普遍适用的。有时你会发现自己处于这样的一种情况,需要违背已建立的标准。
在你决定忽略某条准则之前,你应当首先确信你理解这条准则为什么存在,以及如果不采用的话后果会怎样。如果你确定必须违背某条准则,那么需要对这样做的原因进行文档说明。
这是首先要做的。
________________
1 Jim Karabatsos“该文档何时采用?”《Visual Basic编程标准(Visual Basic Programming Standards)》(GUI计算有限公司,1996年3月22日)。可在线访问http://www.gui.com.au/jkcoding.htm,1999年8月。
2 George Brackett. “第6课:通讯设计:网络布局、结构和导航” 《课程T525:网络教育经验设计(Course T525: Designing Educational Experiences for Networks and Webs.)》(哈佛大学教育学院,1999年8月26日)。可在线访问http://hgseclass.harvard.edu/t52598/classes/class6/,1999年8月。