2012-08-13 150 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