17

以下哪个声明符合 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)
 {
    //...
 } 
4

4 回答 4

32

据我所知,是这样的:

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

当类型为booleanBoolean时,不同之处在于 Getter 以is而不是开头get

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

于 2012-08-13T20:09:48.567 回答
5

如果这是在 writer 类中,您可能希望从变量中删除 Writer。

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

像这样的东西:

private boolean writerEnabled;

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

虽然这是我个人的命名约定,但您可能应该与您正在使用的任何其他人交谈,看看他们会使用什么。

于 2012-08-13T20:09:59.833 回答
3
private boolean writerEnabled;
public boolean isWriterEnabled() 
public void setWriterEnabled()
于 2012-08-13T20:10:14.617 回答
2

对于 getter 和 setter 方法,我相信约定是public boolean isWriterEnabled()and public boolean isReaderEnabled()。至于变量,应该是private boolean writerEnabled.

于 2012-08-13T20:12:29.800 回答