Tôi có nên luôn luôn sử dụng dịch vụ là một tiền tố cho các biến boolean không? [đóng cửa]


50

Tôi có nên luôn luôn sử dụng islàm tiền tố cho các biến boolean? Điều gì về booleans chỉ ra một cái gì đó trong quá khứ? Tôi nên viết isInitializedhay wasInitialized? Tôi nên viết cho tài sản IsManyMembershay HasManyMembers?

Có thực hành tốt nhất? Hoặc tôi chỉ nên viết theo quy tắc tiếng Anh?



Câu trả lời:


54

Không thực sự, vì booleans không phải lúc nào cũng được sử dụng để chỉ ra rằng một đối tượng "là" một cái gì đó.

"has" là một tiền tố hợp lệ tương đương "đã", ​​"có thể" cũng hợp lệ trong các trường hợp cụ thể, ngoài ra, tôi đã thấy hậu tố "Có thể" được sử dụng.

So Object herring:-
 isFish = true
 isCat = false
 hasScales = true
 hasFur = false
 canSwim = true
 wasEgg = true
 eatAble = true

Object moggy:-
 isFish = false
 isCat = true
 hasScales = false
 hasFur = true
 canSwim = false
 wasEgg = false
 eatAble = false

Tất cả phụ thuộc vào những gì làm cho chương trình có thể đọc được.


37
Tôi nghĩ rằng tôi sẽ chọn canBeEaten hoặc isEdible over eatAble.
kzh 17/03/2016

3
@kzh - isEdible là tốt! Không chắc chắn về canBeEaten vì nó là thứ gì đó xảy ra với đối tượng chứ không phải là thứ mà đối tượng có thể làm. Kén chọn Kén chọn tôi biết :-).
James Anderson

1
Điều gì về một lá cờ để cho biết liệu một cái gì đó được cho phép hay không? "AllowExtensions" có rõ không? Hoặc "Liệu ALLowExtensions" sẽ rõ ràng hơn, mặc dù lâu hơn?
Kỹ sư đảo ngược

1
nếu bạn sử dụng -able như một hậu tố, tôi sẽ không viết hoa nó như là một từ. ví dụ mặc được chứ không phải mặcAble
jk.

2
@kzh: Ban đầu tôi đọc eatAblelà "có thể ăn" chứ không phải "có thể ăn được". Nói chung, nó mơ hồ và thực sự sẽ tốt hơn nên tránh.
Flater

8

Tôi sẽ đi với các quy tắc tiếng Anh. Tôi có xu hướng nghĩ về một lập trình viên tiếp theo sẽ xem công việc của bạn là một kẻ điên rồ cầm rìu sẽ đến sau tôi nếu mã khó hiểu. Khi tôi ghi nhớ điều này, lựa chọn tốt nhất cho sức khỏe của tôi là giữ cho mã sạch và dễ đọc, có nghĩa là tiếng Anh và ngôn ngữ tốt nhất có thể.


3
"Nếu cá tuyết quá khó hiểu" gắn bó với chủ đề cá / mèo của câu trả lời khác mà tôi thấy
scottyseus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.