java编码108条规则总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/biao_java/article/details/76281304
1、保持原有风格。
2、坚持最少惊讶的原则。
3、第一次就把事情做对。
4、记录所有非规范行为。
5、缩进嵌套代码。
6、拆分长行。
7、包含空白空间。
8、不要应用“难以忍受的”TAB 键。
9、使用有意义的名字。
10、 使用人们熟悉的名字。
11、 慎重使用过长的名字。
12、 加入元音字符。
13、 大写首字母缩略词的第一个字母。
14、 不要使用只通过大小写区分的名称。
15、 使用公司域名的倒置小写形式作为包名的权限定词。
16、 使用单独小写的单词作为每个包的根名。
17、 仅当新旧版本二进制兼容时, 其包名可以使用相同的名字, 否则请使用新名字。
18、 大写类和接口中每个单词的首字母。
19、 用名词命名类。
20、 复数化表示成组的属性、静态服务或常量的名字。
21、 用名词或者形容词命名接口。
22、 在方法命名中小写第一个单词并大写其他单词的首字母。
23、 用动词命名方法。
24、 遵循 JavaBeans 的约定来命名访问属性的方法。
25、 在变量命名中小写第一个单词并大写其他单词的首字母。
26、 应用名词命名变量。
27、 采用复数形式命名集合引用。
28、 为不重要的临时变量建立并使用一套标准的名字。
29、 用“this”限定成员变量来与本地变量区分。
30、 在构造函数或“set”方法中将参数赋值给成员变量时,用与成员变量相同的
名称作为参数命名
31、 命名常量时,每个单词用大写字母且每两个单词用下划线分隔。
32、 为你代码的使用和维护人员书写文档。
33、 保持注释和代码同步。
34、 应用主动语态,忽略无用的单词
35、 应用文档注释来描述编程接口。
36、 应用标准注释来隐藏代码而不是删除。
37、 应用单行注释来解释实现细节。
38、 在编写代码前描述编程接口。
39、 为公有、受保护、包和私有的成员建立文档。
40、 为每个包提供概述。
41、 为包的每个应用程序或组提供概述。
42、 对所有的文档注释使用统一格式和组织结构。
43、 将关键字、标识符和常量放在<code>……<code>标签中。
44、 将代码放入<pre>…</pre>标签中。
45、 在标识符第一次出现的时候用{@link}标签。
46、 为 javadoc 标签创建和使用一套固定的顺序。
47、 叙述使用第三人称形式。
48、 编写独立的概述。
49、 省略行为或服务概述中的主题。
50、 省略事物描述中的主题和动词。
51、 当提及当前类的实例时用“this”而非“the”。
52、 不要为方法或构造函数增加圆括弧,除非你想指定某特殊意义。
53、 为每个类、接口、域和方法提供概述。
54、 充分描述每个方法的标记。
55、 包含示例。
56、 为前置、后置和不变条件编写文档。
57、 为已知的缺陷和不足编写文档。
58、 为同步语义书写文档。
59、 仅添加能够帮助理解你代码的内部注释。
60、 描述代码为什么这么做,而不是在做什么。
61、 避免使用行尾注释。
62、 用行尾注释解释局部变量声明。
63、 创建并使用一组关键字来标明尚未解决的问题。
64、 在嵌套程度高的控制结构中标记出嵌套结束位置。
65、 如果两个 case 标记之间没有 break 语句,则在它们之间加入“fall-through”
注释。
66、 标记空语句。
67、 将表示基础数据类型的类声明为 final。
68、 通过本地类型和其他的具体类型来创建具体类型
69、 定义小的类和方法。
70、 定义子类,以便能够使用超类的地方都可以使用子类。
71、 将所有字段私有化。
72、 使用多态来代替 instanceof。
73、 以 java.lang.Object 包装通用类,提供静态类型检查。
74、 以类的形式封装枚举类型。
75、 应用等价的方法替代重复、复杂的表达式。
76、 使用块语句代替控制流结构中的表达式。
77、 使用括号明确操作顺序。
78、 在 switch 最后一个 case 语句中使用 break 语句。
79、 使用 equals(),而不是==来检测对象的对等关系。
80、 构造状态有效的对象。
81、 不要在构造函数中调用一个非 final 的方法。
82、 用嵌套的构造函数来消除冗余。
83、 应用不受检查、运行时异常来报告可能发生在程序逻辑中出错的严重未查明的
错误。
84、 应用检查异常来报告可能发生、而在正常情况下很少发生的错误。
85、 应用返回代码报告可预知的状态变化。
86、 仅转换异常来添加信息。
87、 不要私自处理运行时或错误异常。
88、 应用 finally 块来释放资源。
89、 按照约定编程。
90、 应用无用代码消除机制来实现断言。
91、 应用断言来捕获代码中的逻辑错误。
92、 应用断言来检测方法的前置和后置条件。
93、 仅在适当的地方使用线程。
94、 避免同步。
95、 应用同步包装器来提供同步接口。
96、 如果方法中包含不需要同步的重要操作,那么不要同步整个方法。
97、 读写实例变量时避免不必要的同步。
98、 使用 notify()而不是 notifyAll()。
99、 为同步初始化使用双重检查模式。
100、 使用懒惰初始化。
101、 避免创建不必要的对象。
102、 重新初始化并重复使用对象来避免创建新对象
103、 把优化工作放到最后。
104、 将经常使用、变化、发布或者相互依赖的类放置在同一包中。
105、 将不稳定的类和接口放在单独的包中。
106、 避免让不易于变化的类依赖于易于变化的类。
107、 最大化的抽象已达到最大的稳定性。
108、 将高层次的设计和架构作为稳定的抽象,组织为稳定的包

猜你喜欢

转载自blog.csdn.net/biao_java/article/details/76281304