命名用于评估条件的方法

时间:2012-07-31 10:55:45

标签: java naming-conventions

以下方法在抽象基类中实现,该基类由许多子类扩展:

public final void doSomething() {
    if( hasBehavior1() ) {
        // special behavior 
    }

    if( hasBehavior2() ) {
        // special behavior 
    }

    // do other things
}

protected abstract boolean hasBehavior1();
protected abstract boolean hasBehavior2();

对于特殊行为

的情况,我应该如何命名这些方法hasBehaviorX()
  • 加密一些数据?
  • 忽略错误?
  • 检查是否正确?

特殊行为太容易使用不同的实现模式,如strategy pattern,所以我真的在这里寻找一些有用的命名约定。

3 个答案:

答案 0 :(得分:0)

检查正确性

isCorrect()

忽略错误

isErrorIgnored()

用于加密数据

isEncrypted()

答案 1 :(得分:0)

考虑编写无操作方法:

protected boolean doBehavior1() {}
protected boolean doBehavior2() {}

根据需要在子类中实现。这样,您可以将处理推迟到子类,而无需询问这些子类是否需要这样做。

答案 2 :(得分:0)

我找到了一种方法来表达特殊行为,通过使用现有渐进形式的动词的布尔成员的java约定来表达特殊行为:

isEncrypting()
isIgnoringError()
isCheckingForCorrectness()