如,下面的代码是 不推荐的,因为它有多个退出点(return语句)。
private boolean isEligible(int age){ if(age > 18){ return true; }else{ return false; } }
上面的代码可以这么写(当然,下面的代码还可以改进,后面再说)。
private boolean isEligible(int age){ boolean result; if(age > 18){ result = true; }else{ result = false; } return result; }简化if-else方法:
我们写了一些只要一个参数的工具方法,检查一些条件并根据条件返回一个值。如,在上面见到的isEligible方法。
private boolean isEligible(int age){ boolean result; if(age > 18){ result = true; }else{ result = false; } return result; }
可以只使用一个return语句来重写此方法。
private boolean isEligible(int age){ return age > 18; }不要为Boolean,Integer或String创建新的实例: 避免创建新的Boolean,Integer,String等实例。使用Boolean.valueOf(true)代替new Boolean(true)。两种写法效果差不多但却可以改善性能。 在代码块周围使用大括号: 永远不要忘记在块类型语句(如:if,for,while)周围使用大括号。这可以减少代码歧义并且避免在你修改代码块的时候产生新的bug。
不推荐
if(age > 18) return true; else return false;推荐
if(age > 18){ return true; }else{ return false; }把方法的参数声明为final类型:
总是在所有兼容的地方把把方法的参数声明为final。这样做的话,当你无意中修改了参数的值,编译时会得到警告,并且编译生成的字节码也会得到优化。
推荐
private boolean isEligible(final int age){ ... }用大写命名public static final类型成员变量: 总是使用大写命名用public static final类型变量。这样可以让你很容易区分常量和本地变量。
不推荐
public static final String testAccountNo = "12345678";推荐
public static final String TEST_ACCOUNT_NO = "12345678";把多个if语句合并成一个:
下面的代码
if(age > 18){ if( voted == false){ // eligible to vote. } }可以使用一个if语句改写为:
if(age > 18 && !voted){ // eligible to vote }别忘了给switch添加default语句: 总是给switch添加一个default语句。
private void someMethod(){ logger.log("My Application" + e); .... .... logger.log("My Application" + f); }可以创建一个常量代替字符串"My Application":
public static final String MY_APP = "My Application"; private void someMethod(){ logger.log(MY_APP + e); .... .... logger.log(MY_APP + f); }其它资源: Java最佳实践 , 代码规范检查 , PMD规则列表
2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务