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

Cod*_*lue 16 java boolean naming-conventions

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

private boolean writerIsEnabled;
// with methods like
public boolean getWriterIsEnabled() 
public void setWriterIsEnabled()
Run Code Online (Sandbox Code Playgroud)

要么

private boolean writerEnabled;
// with methods like
public boolean getWriterEnabled() 
public void setWriterEnabled()
Run Code Online (Sandbox Code Playgroud)

我个人觉得第一个名字"writerIsEnabled"更具可读性,特别是当你在if语句中使用它时 -

if(writerIsEnabled)
 {
    //...
 } 
Run Code Online (Sandbox Code Playgroud)

Fri*_*itz 31

据我所知,就是这样:

private boolean writerEnabled;
// with methods like
public boolean isWriterEnabled();
public void setWriterEnabled(boolean enabled);
Run Code Online (Sandbox Code Playgroud)

当类型是boolean或者时Boolean,不同之处在于Getter以is而不是get.

我个人更喜欢这种isWriterEnabled方法.例如,JSF等技术在访问属性时尊重该标准.EL表达式用is和确认get.


xth*_*der 5

如果这是在编写器类中,您可能希望从变量中删除Writer.

我通常不会Is在我的字段名称中使用,但会在方法中使用.

像这样的东西:

private boolean writerEnabled;

public boolean isWriterEnabled();
public void setWriterEnabled(boolean enabled);
Run Code Online (Sandbox Code Playgroud)

虽然这是我个人的命名惯例,但您应该与您正在使用的任何其他人交谈,看看他们会使用什么.