1 类上注释:
/**
* 业务处理分发类
* 简单说明
* @author name
* @since 2013-9-22
* @version 1.0
*/
public class BsController {}
2 方法注释
2.1方法头注释
/**
* 加法运算
* 1 获取操作数、操作符
* 2 相加
* 3 返回结果
* @author name
* @param leftNum:左操作数;rightNum:右操作数 说明每个参数的由来和去向、作用
* @param sum 相加结果
* @return sum:String 返回结果
*/
public String add(leftNum,rightNum) {}
说明:
(1)编辑myeclipse注释模板
(2)使用alt+shift+j 来进行快捷注释
2.2扩展注释
2.2.1方法内常量注释
(1)常量:在常量上,以/** */注释
/**注释内容*/
public static final String ITEM1 = "item1";
/**注释内容*/
public static final String ITEM2 = "item2";
如果过多的话可以互相之间空一行;
如果常量的值为可分割,带有前缀的部分组成,例如
public static final String ITEM1 = "TEST_item1";
则不要将前缀写死,重新定义一个变量,用来存储前缀或组成部分;
String qianzhui = "Test";
public static final String ITEM1 = qianzhui+item1;
这里使用的拼音不规范,仅作为示范使用;
(2)变量注释:
如果该变量是通过其他方法得到的,比如有一方法obtainResult()可以返回计算结果;则如下:
public static void execBs(){
String result;//声明计算结果
result = obtainResult();//获取结果
}
public static String obtainResult(){
return "10";
}
如果方法内使用到,且不能通过其他方法返回的,使用new来声明;
如果该变量是外部引用变量,则在变量上方注释使用@link 指向它所声明的类、方法;该方式一般用于复杂的组件拆分中;
2.3查找某一变量有无被使用
(1)在当前java文件中选中该变量,使用ctrl+K
(2)选择该变量,使用ctrl+alt+H
(3)在项目下,ctrl+H 选择File Search标签,在文件级别中查找;
2.4 注释标明文档
代码中涉及遵循编码规范的,比如某个字段,使用一种数字编码,该编码有专门的文档来描述;那么在给该字段注释时,表明文档存储路径;
该条适用于所有具有文档规范的类、方法、字段等;
3 日志记录logger使用
(1)在项目中非不得已不使用syso来作为调试手段;统一使用logger.info logger.error等输出
(2)对于异常,在catch后 必须先记录异常logger.error(e) 再处理异常
(3)(懒得导入logger了)
if(loggerDebug) logger.debug(test());和logger.debug(test());区别
前一种,如果开启调试模式,则会运行debug中的test()函数,且有多少线程调用,则会运行多少次test();如果关闭调试模式,则不会运行里面的debug方法
后一种,无论是否开启调试模式,都会运行内部函数,导致性能下降的一方面原因;
4 构造函数的使用
在构造函数上注释,说明为什么要用、在哪用该构造函数;
5 循环
(1)MAP循环使用增强型for循环
HashMap<String,String> map = new HashMap<String, String>();
for(String key:map.keySet()){
//循环取值
}
(2)while(值)改用for循环
int i = 0;//该种方式会造成循环标志变量泄露
while(i<10){
//操作
i++;
}
//j仅在for中有效,无泄露问题
for(int j=0;j<10;){
//操作
j++;
}
6 判断
(1)断言
当某个变量不允许为空的时候,即不允许发生的事情用断言;
(2)if-else逻辑判断
当欲判断的变量允许可能为空、可能有值的情况,使用if-else
7 对于使用对象
如果所用的不是java原生的,最好在“使用现场”直接使用,不要将其声明为全局变量;
如果是原生的,则要考虑其线程是否安全,背后是否有复杂操作;
8 判断一个对象是否为重量级
(1)背后是否为非静态代码
(2)有多少临时生成的变量、属性
(3)后面引用了多少第三方组件
如果必须使用,考虑资源回收问题;