2012-08-13 202 views
10

下列哪些声明符合Java的命名约定?布尔变量名称的Java命名约定:writerEnabled vs writerIsEnabled

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

OR

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

我个人觉得第一个名字 “writerIsEnabled”,以更具可读性,尤其是当你使用它的if语句这样的 -

if(writerIsEnabled) 
{ 
    //... 
} 
+1

可能的重复[有效的布尔值java bean名称](http://stackoverflow.com/questions/799280/valid-java-bean-names-for-booleans) – 2012-08-13 20:08:37

+4

就个人而言,我会犯错的一面'[是] WriterEnabled'。这意味着我会调用变量'writerEnabled'和getter' isWriterEnabled'和setter' setWriterEnabled'。这来自代码自动完成,然后惯例。 – MadProgrammer 2012-08-13 20:09:51

回答

23

据据我所知,这是这样的:

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

当类型为booleanBoolean时,区别在于Getter以is而不是get开头。

我个人更喜欢isWriterEnabled方法。像JSF这样的技术在访问属性时会尊重这个标准。 EL表达式使用isget进行确认。

5

如果这是在一个作家类中,你可能想从你的变量中删除Writer。

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

事情是这样的:

private boolean writerEnabled; 

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

虽然这是我个人的命名规则,你应该跟你是和谁合作的任何人,说话,看看他们会用什么。

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

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