我有一个方法,检查多个条件,并返回一个布尔值。想检查是否有任何方法来重构代码。
public static void isEligible(Response response) {
boolean isAttr1Set = isAttr1Set(response);
boolean isAttr2Set = isAttr2Set(response);
boolean isAttr3Set = isAttr3Set(response);
boolean isAttr4Set = isAttr4Set(response);
Logger.log("Attr1 " + isAttr1Set);
Logger.log("Attr2 " + isAttr2Set);
Logger.log("Attr3 " + isAttr3Set);
Logger.log("Attr4 " + isAttr4Set);
return isAttr1Set() && isAttr2Set() && isAttr3Set() && isAttr4Set();
}
2条答案
按热度按时间yquaqz181#
假设你在返回之前就把代码拉出来了(看起来你只把它用于调试),那么我觉得这段代码看起来很紧凑!另外,注意你在一个void方法上返回了一个布尔值,但这不会使它通过编译!
abithluo2#
将返回类型
void
改为boolean
。接下来,给你的局部变量命名不同于方法的名称。最后,在布尔检查中使用已经检索到的值,而不是再次调用方法: