黑马程序员-java-提高代码可读性和可维护性

-------android培训java培训、期待与您交流! ----------
作者:Veera Sundar
统计来源:代码质量工具包(CheckStyle、FindBugs、PMD)

1.Eclipse编译优化

Eclipse提供自动格式化代码,并且管理导入包。你可以使用下面的这些快捷键进行操作。
Ctrl + Shift + F——代码格式化
Ctrl + Shift + O——管理导入包
代替手动调用这两个函数,只需根据Eclipse自动格式和自动组织选项,可以随时保存文件。
操作步骤:
1在Eclipse中进入Window -> Preferences -> Java -> Editor -> Save Actions
2勾选Perform the selected actions on save
3勾选Format source code 选择Format all lines
4勾选Organize imports

2.避免多个返回

确保只有一个返回点。不要在同一个地方或多个地方使用返回。比如:
// 不推荐
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;
}

3.简化if-else

检查语句条件并且优化基于该条件返回值。比如:
// 不推荐
private boolean isEligible(int age) {
	boolean result;
	if (age > 18) {
		result = true;
	} else {
		result = false;
	}
	return result;
}

// 推荐
private boolean isEligible(int age) {
	return age > 18;
}

4.不要给Boolean, Integer或者String创建新的实例

避免给Boolean,Integer,String创建新的实例。
// 不推荐
Integer I = new Integer(2);
Boolean B = new Boolean(false);
String S = new String("Not Recommend");

// 推荐
int i = 7;
boolean b = true;
String s = "recommend";

修改后的语句与之前的效果基本相同,除了在性能上有所提升。

5.使用大括号模块语句

永远别忘了使用大括号模块语句比如if、for、while。这样做的好处是当你在修改模块级语句时减少了模糊代码并且避免引进bug的机会。
// 不推荐
if (age > 18)
	result = true;
else
	result = false;

// 推荐
if (age > 18) {
	result = true;
} else {
	result = false;
}


6.以final类型标记方法参数,任何时候都适用

以final类型标记方法参数,任何时候都适用。这样做的好处在于当你不小心修改参数值时,编译器会给你警告,同时它还能以更好的方式优化编译器代码字节。
// 不推荐
private boolean isEligible(int age){ ... }

// 推荐
private boolean isEligible(final int age){ ... } 

7.使用UPPERCASE规则来命名public static final字段

使用UPPERCASE规则来命名public static final字段(常量)。这个可以让你轻松区分常量字段和局部变量之间的不同。
// 不推荐
public static final String testAccountNo = "12345678"; 

// 推荐
public static final String TEST_ACCOUNT_NO = "12345678";

8.组合成单一的if语句

在尽可能多的情况下,把多个if语句组合成单一的if语句。比如:
// 不推荐
if (age > 18) {
	if (voted == false) {
		// eligible to vote.
	}
}

// 推荐
if (age > 18 && !voted) {
	// eligible to vote
}

9.Switch应该有default

始终给Switch语句添加default。

10.使用常量来避免重复定义相同的字符串值

如果你在多个地方必须使用字符串,那么使用常量来避免重复定义拥有相同值的字符串。
// 不推荐
private void someMethod(){
	logger.log("My Application" + e);
	...
	...
	logger.log("My Application" + f);
} 

// 推荐
public static final String MY_APP = "My Application";  
		 
private void someMethod(){
	logger.log(MY_APP + e);
	...
	...
	logger.log(MY_APP + f);
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值