Java语言编码规范- 副本(3)
4.4. 注释(comment)
大部分注释尽量用”//”,对于所有的javadoc的注释则用“/** */”,而临时对代码块进行的注释尽量用“/* */”。
注释在java文件中占有重要的地位,应该尽量做到完善:
? 每个类必须加注释说明类功能
? 每个函数应加注释说明函数功能和参数 ? 关键算法必须加注释 ? 关键变量应加注释
在JBuilder中关于注释的方法很多,通过这种注释,除了阅读代码方便之外,还可以用javadoc生成完整的文档,以下分别说明: 文件概要注释
该注释一般时对该java文件作概要说明,包括版本信息、作者、所包含的主要功能等。JBuilder中的形式如下: /**
*
Title:
//文件简要描述 *Description:
//功能描述 *Copyright:
*Company:
* @author * @version */方法注释
方法注释主要是说明该方法功能、输入、输出、异常参数,格式如下: /**
* 插入行数据到表T_North_Tabular_OID ---功能说明
* @param mibNode com.aspire.platform.snmp.MibNode---入参说明 * @param ---入参说明 * @return Boolean ---出参说明 * @throws FrameException ---异常说明 */
变量注释
对于变量注释,可分为2种。
-4-
一是对于具有set/get方法的属性变量,一般都采用如下方式: /** persistent field */ private String levelall;
一是对于一般的变量,一般采用的方式如下: private String strName; //名称变量
声明(Declarations)
4.5. 每行声明变量的数量(Number Per Line)
推荐一行一个声明,因为这样以利于写注释。亦即, int level; // indentation level int size; // size of table 要优于,
int level, size;
不要将不同类型变量的声明放在同一行,例如: int foo, fooarray[]; //WRONG!
注意:上面的例子中,在类型和标识符之间放了一个空格,另一种被允许的替代方式是使用制表符: int level; // indentation level int size; // size of table
Object currentEntry; // currently selected table entry
4.6. 初始化(Initialization)
尽量在声明局部变量的同时初始化。唯一不这么做的理由是变量的初始值依赖于某些先前发生的计算。
4.7. 布局(Placement)
只在代码块的开始处声明变量。(一个块是指任何被包含在大括号\和\中间的代码。)不要在首次用到该变量时才声明之。这会把注意力不集中的程序员搞糊涂,同时会妨碍代码在该作用域内的可移植性。 void myMethod() {
int int1 = 0; // beginning of method block
if (condition) {
int int2 = 0; // beginning of \ ...
-5-
} }
该规则的一个例外是for循环的索引变量
for (int i = 0; i < maxLoops; i++) { ... }
避免声明的局部变量覆盖上一级声明的变量。例如,不要在内部代码块中声明相同的变量名: int count; ...
myMethod() {
if (condition) {
int count = 0; // AVOID! ... } ... }
4.8. 类和接口的声明(Class and Interface Declarations)
当编写类和接口是,应该遵守以下格式规则:
- 在方法名与其参数列表之前的左括号\间不要有空格 - 左大括号\位于声明语句同行的末尾
- 右大括号\另起一行,与相应的声明语句对齐,除非是一个空语句,\应紧跟在\之后 class Sample extends Object { int ivar1; int ivar2;
Sample(int i, int j) { ivar1 = i; ivar2 = j; }
int emptyMethod() {}
... }
- 方法与方法之间以空行分隔
语法规则
本节定义一些基本常用的规则,说明一些应该注意和避免的地方。
-6-
1. 关于循环语句
1) for循环
不要在for循环内部作与循环控制无关的变量操作,如:
sum = 0; // NOT: for (i=0, sum=0; i<100; i++) for (int i=0; i<100; i++) { sum += value[i];
2)
}
while循环
在使用循环之前,一定要先初始化控制变量,如: boolean isDone = true; //NOT while(isDone) while(isDone){ //do something }
避免使用do ….while循环。
如果使用空循环,尽量使用for(;;)而避免使用while(true)来作空循环。
尽量少用”continue”, continue会给将来把一个结构拆分成几个更小的结构或方法带来许多困难;而且她也会迫使开发者不得不为该结构考虑多于一个的结束点。
尽量少用“break”,除非是转换状态(switch statement)控制, 在转换状态控制之外的情况下使用break,会给将来把一个结构拆分成几个更小的结构或方法带来许多困难;而且她也会迫使开发者不得不为该结构考虑多于一个的结束点。
对于数组和列表类型变量arr的循环,其循环截止条件建议使用
i < len;//其中len 已预先赋值为 arr.length或arr.size()
不要使用
i < arr.length;//或者i < arr.size()
在JVM1.4下的性能测试表明,对于有循环体的循环,前者比后者优10%以上;但对于无循环体的循环,前者比后者差。
3) 4) 5) 6)
7)
2. 关于条件语句
避免使用过于复杂的条件判断,如果存在复杂的条件判断,应该使用变量来替换,如: 尽量不要使用:
if((elementNo < 0) || (elementNo > maxElement)|| (elementNo == lastElement)){ doSomething(); }
而应该使用如下格式:
boolean finished = (elementNo < 0) || (elementNo > maxElement); boolean repeatedEntry = elementNo == lastElement; if (finished || repeatedEntry) {
doSomething();
}
对于每一个小的条件,都应该加上(),如下所示:
-7-
…… 此处隐藏:1010字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




