2012-08-13 19 views
10

Tuyên bố nào sau đây phù hợp với quy ước đặt tên của Java?Quy ước đặt tên Java cho tên biến boolean: writerEnabled vs writerIsEnabled

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

HOẶC

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

Cá nhân tôi thấy tên đầu tiên "writerIsEnabled" để có thể đọc nhiều hơn, đặc biệt là khi bạn sử dụng nó trong một câu lệnh if như thế này -

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

bản sao có thể có của [Tên đậu java hợp lệ cho booleans] (http://stackoverflow.com/questions/799280/valid-java-bean-names-for-booleans) –

+4

Cá nhân, tôi sẽ sai ở bên cạnh '[is] WriterEnabled'. Điều này có nghĩa là tôi sẽ gọi biến 'writerEnabled' và getter' isWriterEnabled' và setter 'setWriterEnabled'. Điều này đến nhiều hơn từ mã tự động hoàn thành sau đó quy ước mặc dù. – MadProgrammer

Trả lời

23

As far như tôi biết, theo cách này:

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

Hoặc khi loại là boolean hoặc Boolean, sự khác biệt là Getter bắt đầu bằng is thay vì get.

Cá nhân tôi thích cách tiếp cận isWriterEnabled. Ví dụ, các công nghệ như JSF tôn trọng tiêu chuẩn đó khi truy cập các thuộc tính. Các biểu thức EL được xác nhận với isget.

5

Nếu điều này thuộc lớp người viết, bạn có thể muốn xóa Writer khỏi biến của mình.

Tôi thường không sử dụng Is trong tên trường của mình, nhưng sẽ có trong phương thức.

Something như thế này:

private boolean writerEnabled; 

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

Mặc dù đây là quy ước đặt tên của cá nhân tôi, có lẽ bạn nên nói chuyện với bất kỳ những người bạn đang làm việc với, để xem những gì họ sẽ sử dụng.

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

Đối với phương thức getter và setter, tôi tin rằng các quy ước là public boolean isWriterEnabled()public boolean isReaderEnabled(). Đối với biến số, nó phải là private boolean writerEnabled.