这与 API 设计有关,在 Android 上:
我想拥有良好的编码风格,是的,我意识到这是非常次要的,但假设我有类似的东西:
public boolean validateSomeInputAndDoLogicIfNot(Context context, MyObject myObject) {
if (someObject.isCaseOne()) {
Toast.makeToast...
return true;
} else if (someObject.isCaseTwo()) {
doSomethingCrazyHere();
return true;
}
doSomethingMinorHere();
return false;
}
首先,我看到很多代码将它们的函数命名为isValid(input)
。但是假设它无效,我希望函数做不同的事情。现在,另一件事是:我将多次使用此功能。
所以,在我看来,命名类似 isValid()
的东西意味着它不做任何逻辑,它只是简单地做一些检查,并没有做任何花哨的事情。
但命名为 validateObject()
让我觉得它应该是一个 void 函数,可以做不同的事情,当然,不返回 boolean 值。
所以我的问题是:这种特定类型的函数的专有名称是什么?
**更新:
首先,感谢您将其分成两个函数的建议。我不喜欢它的唯一原因是 someObject
可以有多种状态,导致它有效或无效或其他。因此,someObject.isCaseOne()
和 someObject.isCaseTwo()
。所以如果我要检查每个状态,我很可能必须为一个对象的多个状态创建一个枚举?我觉得这是在引入不必要的代码:(
最佳答案
我想我会使用两个单独的函数:一个用于验证,一个单独的函数在出现无效值时执行某些操作。
如果您真的想要组合它们,那么我会非常明确地说明,例如:validateAndIfInvalidThenX
。 (即便如此,我也会有两个独立的函数,它只会调用它们。)
关于java - Android 什么是命名也执行逻辑的 boolean 函数的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20669754/