目的
原始代码修改之后很久,其代码风格和可读性仍会影响代码的可维护性和扩展性。
好的代码如同报纸上的文章,你从上到下阅读,在顶部你期望有个头条,告诉你故事的主题,好让你决定是否读下去。第一段是整个故事的大纲,给出粗线条概述,但隐藏了故事细节。接着读下去,细节渐次增加,直至你了解了所有的日期、名字、引语、说法和其他细节。
团队应该一致同意采用一套简单的格式规则,所有成员都要遵从这套规则。
垂直维度
对于java源代码来说,如JUnit、FitNesse和Time and Money都由相对较小的文件组成,没有一个文件超过500行,多数都短于200行。Tomcat和Ant则有些文件达到数千行,将近一半文件长度长于200行。
对我们来说,这意味着有可能用大多数为200行、最长500行的单个文件构造出色的系统(FitNess总长约50000行)。
关系密切的概念应该互相靠近,除非有很好的理由,否则就不要把关系密切的概念放到不同的文件中。
变量声明应该尽可能靠近其使用位置。
实体变量应该在类的顶部进行声明。
相关函数应该放到一起,而且调用者尽可能放在被调用者的上面。
概念相关代码应该放到一起,代码的相关性越强,彼此之间的距离就该越短。
水平维度
我们使用空格字符将彼此紧密相关的事物连接到一起,也用空格字符把相关性较弱的事物隔开。
在赋值操作符周围加上空格字符,以达到强调的目的。
使用合理的缩进。缩进让程序员可以查看自己在什么范围内工作,可以快速跳过与当前关注的情形无关的范围。