1 代码注释是架起程序设计者与程序阅读者之间的通信桥梁,最大限度的提高团队开发合作效率。也是程序代码可维护性的重要环节之一。所以我们不是为写注释而写注释。下面说一下我们在诉求网二期开发中使用的代码注释规范,供大家参考下。
2
3 原则:
4 1、注释形式统一
5
6 在整个应用程序中,使用具有一致的标点和结构的样式来构造注释。如果在其它项目中发现它们的注释规范与这份文档不同,按照这份规范写代码,不要试图在既成的规范系统中引入新的规范。
7
8 2、注释内容准确简洁
9
10 内容要简单、明了、含义准确,防止注释的多义性,错误的注释不但无益反而有害。
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 注释条件:
27
28 1、基本注释(必须加)
29
30 (a) 类(接口)的注释
31
32 (b) 构造函数的注释
33
34 (c) 方法的注释
35
36 (d) 全局变量的注释
37
38 (e) 字段/属性的注释
39
40 备注:简单的代码做简单注释,注释内容不大于10个字即可,另外,持久化对象或VO对象的getter、setter方法不需加注释。具体的注释格式请参考下面举例。
41
42 2、特殊必加注释(必须加)
43
44 (a) 典型算法必须有注释。
45
46 (b) 在代码不明晰处必须有注释。
47
48 (c) 在代码修改处加上修改标识的注释。
49
50 (d) 在循环和逻辑分支组成的代码中加注释。
51
52 (e) 为他人提供的接口必须加详细注释。
53
54 备注:此类注释格式暂无举例。具体的注释格式自行定义,要求注释内容准确简洁。
55
56
57 注释格式:
58
59 1、单行(single-line)注释:“//……”
60
61 2、块(block)注释:“/*……*/”
62
63 3、文档注释:“/**……*/”
64
65 4、javadoc 注释标签语法
66
67 @author 对类的说明 标明开发该类模块的作者
68
69 @version 对类的说明 标明该类模块的版本
70
71 @see 对类、属性、方法的说明 参考转向,也就是相关主题
72
73 @param 对方法的说明 对方法中某参数的说明
74
75 @return 对方法的说明 对方法返回值的说明
76
77 @exception 对方法的说明 对方法可能抛出的异常进行说明
78
79
80 参考举例:
81
82 1. 类(接口)注释
83
84 例如:
85
86 /**
87
88 * 类的描述
89
90 * @author Administrator
91
92 * @Time 2012-11-2014:49:01
93
94 *
95
96 */
97
98 public classTest extends Button {
99
100 ……
101
102 }
103
104 2. 构造方法注释
105
106 例如:
107
108 public class Test extends Button {
109
110 /**
111
112 * 构造方法 的描述
113
114 * @param name
115
116 * 按钮的上显示的文字
117
118 */
119
120 public Test(String name){
121
122 ……
123
124 }
125
126 }
127
128 3. 方法注释
129
130 例如
131
132 public class Test extends Button {
133
134 /**
135
136 * 为按钮添加颜色
137
138 *@param color
139
140 按钮的颜色
141
142 *@return
143
144 *@exception (方法有异常的话加)
145
146 * @author Administrator
147
148 * @Time2012-11-20 15:02:29
149
150
151 */
152
153 public voidaddColor(String color){
154
155 ……
156
157 }
158
159 }
160
161 4. 全局变量注释
162
163 例如:
164
165 public final class String
166
167 implements java.io.Serializable, Comparable<String>,CharSequence
168
169 {
170
171 /** The value is used for characterstorage. */
172
173 private final char value[];
174
175 /** The offset is the first index of thestorage that is used. */
176
177 private final int offset;
178
179 /** The count is the number of charactersin the String. */
180
181 private final int count;
182
183 /** Cache the hash code for the string */
184
185 private int hash; // Default to 0
186
187 ……
188
189 }
190
191 5. 字段/属性注释
192
193 例如:
194
195 public class EmailBody implements Serializable{
196
197 private String id;
198
199 private String senderName;//发送人姓名
200
201 private String title;//不能超过120个中文字符
202
203 private String content;//邮件正文
204
205 private String attach;//附件,如果有的话
206
207 private String totalCount;//总发送人数
208
209 private String successCount;//成功发送的人数
210
211 private Integer isDelete;//0不删除 1删除
212
213 private Date createTime;//目前不支持定时 所以创建后即刻发送
214
215 privateSet<EmailList> EmailList;
216
217 ……
218
219 }
220
221 其实规范是自己订的,只要团队中大家都统一遵守,统一规范,就会取得好的效果,希望对平时不加注释的朋友有点帮助。