例如,我使用StringUtils.isEmpty(Object.attribute);
检查属性是否为空。每次我需要检查此属性是否为空时,我应该放置该代码吗?或者最好将其包装在方法Object.isAttributeEmpty()
中,然后调用StringUtils.isEmpty()
内的isAttributeEmpty()
。
哪种方式是最佳做法或首选方式。
答案 0 :(得分:0)
我认为它确实是一个风格问题,剩下的就是在调用这些代码之前对代码保持警惕,以确保Object本身不为空。
就个人而言,我已经完成了在Utility类中编写静态方法的方法,然后提供像ObjectUtility.isAttributeEmpty(Object object)这样的方法,并让黑盒子内部安全地计算出来。
而在其他时候,让对象本身知道可能会很舒服。这取决于样式是否规定您应该编写简单的Java对象,或者是否允许更复杂的方法在对象中固有。
更糟糕的问题是,当第三个答案是&#34时,你如何回答真/假问题?它是空的"。
答案 1 :(得分:0)
如果"属性为空"具有特殊意义,那么你最好创建一个布尔getter来命名它,并将其实现调用实用方法:
class MyClass {
String attribute;
boolean isIncomplete() {
return isEmpty(attribute);
}
// other stuff
}
还有机会以相反的意义命名它,例如以上面的例子为例:
boolean isComplete() {
return !isEmpty(attribute);
}