判断这个"if"语句的执行是非常简单的。注意,看看是谁写的这些代码,他没有遵守第一条:务必在代码中添加注释。if(newStatusCode.equals("SD") && (sellOffDate == null ||
todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null &&
todayDate.compareTo(lastUsedDate)>0)) ||
(newStatusCode.equals("OBS") && (OBSDate == null ||
todayDate.compareTo(OBSDate)<0)))...{
newStatusCode = "NYP";
}
这不是更加易读吗?没错,我们重复了声明。我们增加了一个额外的"IF"条件语句,但是代码更加易读和容易理解了。效率也没有差多少。if(newStatusCode.equals("SD") && (sellOffDate == null ||
todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null &&
todayDate.compareTo(lastUsedDate)>0)))...{
newStatusCode = "NYP";
}else
if(newStatusCode.equals("OBS") && (OBSDate == null ||
todayDate.compareTo(OBSDate)<0))
...{
newStatusCode = "NYP";
}