有时我将布尔检查提取到局部变量以实现更好的可读性。提取布尔检查到局部变量
您认为如何?
有什么缺点?
如果该变量没有在其他地方使用,编译器是否需要输入?我还考虑用一个额外的块“{}”来缩小范围。
if (person.getAge() > MINIMUM_AGE && person.getTall() > MAXIMUM_SIZE && person.getWeight < MAXIMUM_WEIGHT) {
// do something
}
final boolean isOldEnough = person.getAge() > MINIMUM_AGE;
final boolean isTallEnough = person.getTall() > MAXIMUM_SIZE;
final boolean isNotToHeavy = person.getWeight < MAXIMUM_WEIGHT;
if (isOldEnough && isTallEnough && isNotToHeavy) {
// do something
}
这可以通过提取检查方法而不是简单变量分配来解决。 – 2009-08-10 14:22:18
这是来自Code Complete的推荐做法。 – 2009-08-10 15:39:33