带有 checkcustomers 的“if”块在该类的其他方法中完全使用,因此对于相同的检查有很多代码重复。但我也不能直接将此检查内容提取到一个方法中,因为它们具有返回值。
重构此代码的一些好主意?我刚刚修改了这段代码以简化这里,所以不要被这段代码中的小问题所困扰(如果有的话),基本上问题是如何将一段代码提取到一个方法中(因为它在其他方法上重复)有在当前方法中有很多回报。
public Details getCustomerDetails(){
if(checkifcustomerhasnoboobs){
..worry about it..
return new Details("no");
}
if(checkifcustomerplaytenniswell){
..do find a tennis teacher
return new Details("no cantplay");
}
//...ok now if customer passed the test, now do the some real stuff
//
//
CustomerDetails details= getCustomerDetailsFromSomewhere();
return details;
}