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

2022-09-02 23:33:49

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

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语句中使用它时 -

if(writerIsEnabled)
 {
    //...
 } 

答案 1

据我所知,它是这样的:

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

当类型为 或 时,区别在于 Getter 以 而不是 开头。booleanBooleanisget

就个人而言,我更喜欢这种方法。例如,JSF 等技术在访问属性时遵循该标准。EL 表达式使用 和 进行确认。isWriterEnabledisget


答案 2

如果这是在编写器类中,则可能需要从变量中删除编写器。

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

像这样:

private boolean writerEnabled;

public boolean isWriterEnabled();
public void setWriterEnabled(boolean enabled);

虽然这是我个人的命名惯例,但你应该和你正在合作的任何其他人谈谈,看看他们会用什么。