布尔变量名称的 Java 命名约定:writerEnabled 与 writerIsEnabled

2022-01-19 00:00:00 naming-conventions boolean java

以下哪些声明符合 Java 的命名约定?

Which of the following declarations conforms to Java's naming conventions?

private boolean writerIsEnabled;
// with methods like
public boolean getWriterIsEnabled() 
public void setWriterIsEnabled()

private boolean writerEnabled;
// with methods like
public boolean getWriterEnabled() 
public void setWriterEnabled()

我个人认为名字writerIsEnabled"更具可读性,尤其是当您在这样的 if 语句中使用它时 -

I personally find the first name "writerIsEnabled" to be more readable, especially when you use it in an if statement like this -

if(writerIsEnabled)
 {
    //...
 } 

推荐答案

据我所知是这样的:

private boolean writerEnabled;
// with methods like
public boolean isWriterEnabled();
public void setWriterEnabled(boolean enabled);

无论类型是boolean还是Boolean,区别在于Getter以is开头,而不是get.

Either when the type is boolean or Boolean, the difference is that the Getter starts with is instead of get.

我个人更喜欢 isWriterEnabled 方法.例如,像 JSF 这样的技术在访问属性时尊重该标准.EL 表达式用 isget 确认.

Personally I prefer the isWriterEnabled approach. Technologies like, for example, JSF respect that standard when accessing properties. The EL expressions are acknowledged with is and get.

相关文章