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

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

据我所知,就是这样:

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

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

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

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

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

像这样的东西:

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

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

 private boolean writerEnabled; public boolean isWriterEnabled() public void setWriterEnabled() 

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