重构,改善代码质量

List<SysTips> list_codes = commonDao.getSYSCodes();
if (list_codes != null && list_codes.size() > 0)
{
	for (Iterator<SysTips> iterator = list_codes.iterator(); iterator.hasNext();)
	{
		SysTips m = iterator.next();
		 MAPINFO.put(m.getScode(), m.getSdesc());
	}
}


重构后
List<SysTips> list_codes = commonDao.getSYSCodes();
for (SysTips m: list_codes)
{
	MAPINFO.put(m.getScode(), m.getSdesc());
}


解析:
1.commonDao.getSYSCodes()方法返回需要保证list不为空,程序员在实现getSYSCodes方法时常会这样处理:遇到异常捕获返回为空。这样的做法欠妥,为什么呢,异常处理分为两种,一种是可以继续向下运行和不可继续运行。如果是第一种异常,就直接捕获,做些异常处理,最后返回size为0的list,第二种异常,当为非运行时异常需要转换为运行时异常,继续向上抛出,为运行时异常时无需捕获。所以正确实现getSYSCodes方法后,返回的list就不为空,外面的为空判断也就不需要了,简化代码。
2. list_codes.size() > 0,是多余代码。
3.for (Iterator<SysTips> iterator = list_codes.iterator(); iterator.hasNext();)转为比较简单方式:for (SysTips m: list_codes)

你可能感兴趣的:(java)