ฉันควรใช้“ is” เป็นคำนำหน้าสำหรับตัวแปรบูลีนเสมอหรือไม่ [ปิด]


49

ฉันควรใช้isเป็นคำนำหน้าสำหรับตัวแปรบูลีนเสมอหรือไม่ สิ่งที่เกี่ยวกับ booleans ที่บ่งบอกถึงบางสิ่งบางอย่างในอดีต? ฉันควรจะเขียนisInitializedหรือwasInitialized? ฉันควรเขียนถึงคุณสมบัติIsManyMembersหรือHasManyMembersไม่?

มีวิธีปฏิบัติที่ดีที่สุดหรือไม่? หรือฉันควรเขียนตามกฎภาษาอังกฤษ?



คำตอบ:


53

ไม่จริง ๆ แล้วเนื่องจาก booleans ไม่ได้ใช้เพื่อระบุว่าวัตถุ "เป็น" อะไรบางอย่าง

"has" เป็นคำนำหน้าที่ถูกต้องเท่าเทียมกัน "คือ", "can" ยังใช้ได้ในบางสถานการณ์เช่นกันฉันได้เห็นคำต่อท้าย "Able" ที่ใช้แล้ว

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

ทุกอย่างขึ้นอยู่กับสิ่งที่ทำให้โปรแกรมอ่านได้


37
ฉันคิดว่าฉันจะเลือกกินหรือกินได้กินได้
kzh

3
@kzh - isDible เป็นสิ่งที่ดี! ไม่แน่ใจเกี่ยวกับ canBeEaten เป็นสิ่งที่เกิดขึ้นกับวัตถุมากกว่าสิ่งที่วัตถุสามารถทำได้ Picky Picky ฉันรู้ :-)
James Anderson

1
สิ่งที่เกี่ยวกับธงเพื่อระบุว่าสิ่งที่ได้รับอนุญาตหรือไม่? "AllowExtensions" ชัดเจนหรือไม่ หรือ "DoesAllowExtensions" จะชัดเจนขึ้นหรือไม่
วิศวกรที่กลับรายการ

1
ถ้าคุณใช้ -able เป็นคำต่อท้ายฉันจะไม่ใช้มันเพราะมันไม่ใช่คำ เช่นสวมใส่ได้มากกว่า wearAble
jk

2
@kzh: ตอนแรกฉันอ่านeatAbleว่า "กินได้" มากกว่า "กินได้" สรุปแล้วมันคลุมเครือและจะหลีกเลี่ยงได้ดีกว่า
Flater

7

ฉันจะไปด้วยกฎภาษาอังกฤษ ฉันมักจะคิดเกี่ยวกับ coder ถัดไปที่จะดูงานของคุณเป็นขวานควง maniac ที่จะมาหลังจากฉันถ้ารหัสยากที่จะเข้าใจ เมื่อฉันคำนึงถึงสิ่งนี้ตัวเลือกที่ดีที่สุดสำหรับสุขภาพของฉันคือการทำให้โค้ดสะอาดและอ่านง่ายซึ่งหมายถึงภาษาอังกฤษและโดเมนที่ดีที่สุดเท่าที่จะเป็นไปได้


2
"ถ้าหลอกล่อยากเกินไปที่จะเข้าใจ" เกาะติดกับชุดรูปแบบปลา / แมวของคำตอบอื่น ๆ ที่ฉันเห็น
scottyseus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.