4.2 Class的样式
4.2.1 Class的定义
包含了在不同的行的 extends 和 implements
1 public class CounterSet extends Observable 2 implements Cloneable
4.2.2 Class Fields
类的成员变量:
1 /** 2 * Packet counters 3 */ 4 protected int[] packets;
public 的成员变量一定要有注释而且必须生成文档(JavaDoc)。
proceted、private和 package 定义的成员变量如果名字含义明确的话,可以没有注释。
4.2.3 构造函数
构造函数,它应该用递增的方式写(比如:参数多的写在后面)。示例:
1 public CounterSet(int size) 2 { 3 this.size = size; 4 } 5 public CounterSet(int size,String name) 6 { 7 this.size = size; 8 this.name = name; 9 }
4.2.4 克隆方法
如果这个类是可以被克隆的:
1 public Object clone() { 2 try { 3 CounterSet obj = (CounterSet)super.clone(); 4 obj.packets = (int[])packets.clone(); 5 obj.size = size; 6 return obj; 7 }catch(CloneNotSupportedException e) { 8 throw new InternalError("Unexpected CloneNotSUpportedException: "+ e.getMessage()); 9 } 10 }
4.2.5 类成员变量和方法的编写顺序
建议编写顺序为:
public protected private
final static transient
4.2.6 main 方法
如果main(String[]) 方法已经定义了, 那么它应该写在类的底部。
4.3 代码样式
代码应该用 unix 的格式,而不是 windows 的(比如:回车变成回车+换行)
5 注释
5.1 一般情况下
源程序有效注释量必须在20%以上。
说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。
5.2 常规注释标记说明
注释起始为“/**…*/”,注释文档的第一条为总结性语句,可在注释文档中使用HTML的标签语句,但要杜绝使用“HL”“HR”标签。注释全部采用中文,并依据以下标记规范进行书写。
5.2.1 @since
@since 文字:可生成一个“自从”条目,通过其中的“文字”,可说明一项特性是“自从”哪个版本开始引入的。
5.2.2 @deprecated
@deprecated 文字:可增加一条注释,指定特定的类、方法或变量不应继续使用,在这里,deprecated是“不赞成”,“不推荐”之意。利用其中的“文字”,可向用户推荐另一种方法来达到同样的目的。如:
1 /** 2 ... 3 @deprecated 使用setVisible 4 */ 5 5.2.3 @see