ชื่อเมธอดหรือตัวแปรของฉันยาวเกินไปหรือไม่ [ปิด]


15

ดังนั้นฉันกำลังอยู่ในช่วงกลางของการเข้ารหัสโชคไม่ดีสำหรับฉันฉันอยู่ใน "โซน" จากนั้นฉันก็คิดกับตัวเองว่าชื่อวิธีการ / ตัวแปรของฉันยาวหรือไม่?

POPออกจากโซน I Go!

ดังนั้นฉันมาที่นี่เพื่อถามวิธี / ชื่อตัวแปรของฉันยาวเกินไปหรือไม่ คุณเป็นผู้พิพากษา! คะแนนโบนัสสำหรับทุกคนที่สามารถเข้าใจสิ่งที่ฉันกำลังเขียนถึงแม้ว่าฉันจะแน่ใจว่ากูรูจะสามารถเข้าใจได้อย่างรวดเร็ว!

อย่างไรก็ตามนี่คือวิธีการและชื่อตัวแปรของฉัน

วิธีการ: searchBlockedListForBlockedSquares (), isCurrentSquareNextToAtLeastOneBlockedSquare (), searchBlockedListForBlockedSquares ()

ตัวแปร: isNextToBlockedSquares;

ฉันคิดว่ามีเพียงตัวแปรเดียวที่ดูเหมือนยาวเกินไป


คำตอบ:


31

ชื่อของคุณดูเหมือนจะโอเคกับฉันในแง่ของความยาว อย่างไรก็ตามวิธีที่พวกเขาตั้งชื่อแสดงให้เห็นว่าอาจมีบางคลาสใหม่ตามลำดับ?

ตัวอย่างเช่นแทนที่จะของคุณอาจมีsearchBlockedListForBlockedSquares() blockedList.getBlockedSquares()ในทำนองเดียวกันจะกลายเป็นisCurrentSquareNextToAtLeastOneBlockedSquare()currentSquare.isAdjacentToABlockedSquare()


ที่อยู่ติดกันเป็นคำที่ฉันกำลังมองหา! ขอบคุณ =)
ไบรอันแฮร์ริงตัน

@Bryan: ไม่เป็นไร :)
Adam Lear

11

ฉันเชื่อในชื่อตัวแปรอธิบายแม้ว่านั่นหมายถึงชื่อตัวแปรแบบยาว และด้วยการใช้ Intellisense ที่ได้รับความนิยมมากขึ้นฉันไม่เชื่อว่ามันจะส่งผลกระทบต่อประสิทธิภาพการทำงาน

ฉันเกลียดตัวย่อเพราะเกือบเป็นไปไม่ได้ที่จะใช้อย่างสม่ำเสมอ นอกจากนี้พวกเขาอาจคลุมเครือและทำให้อ่านยากขึ้น แม้ว่าพวกเขาจะเป็นส่วนหนึ่งของมาตรฐานฉันก็ไม่ชอบพวกเขา นอกจากนี้เมื่อพูดถึงมันพวกเขาจะไม่ลบจดหมายจำนวนมากออกไปนอกเสียจากว่าคุณจะย่อมาก และตัวย่อจะฆ่าได้ง่าย

ปัญหาที่ใหญ่ที่สุดชื่อยาวแนะนำว่าเป็นวิธียาวบรรทัดของรหัสสามารถเป็น การเรียกใช้ฟังก์ชันที่มีชื่อยาวและส่งผ่านชื่อตัวแปรแบบยาวสองหรือสามชื่อสามารถสร้างขึ้นเป็นรหัสยาวหนึ่งบรรทัด ด้วยเหตุนี้ฉันจึงพยายามรักษาชื่อของฉันให้สั้นที่สุดเท่าที่จะทำได้อีกครั้งฉันควรจะมีชื่อที่เป็นคำอธิบายแม้ว่ามันจะหมายถึงการตัดเส้นหรือเลื่อน

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


5

ชื่อตัวแปรคือความยาวที่ไม่ถูกต้องเมื่อไม่ได้อธิบายอย่างชัดเจนถึงวัตถุประสงค์ ที่ใช้กับการสั้นหรือยาวเกินไป

ชื่อตัวแปรแบบสั้นและสั้นสามารถคลุมเครือหรือแย่กว่านั้นไม่มีความสัมพันธ์กับตัวแปร ในวันที่มีการตีความขั้นพื้นฐานเราถูก จำกัด โดยล่ามให้กับชื่อตัวละครสองตัว มันยากมากที่จะสร้างชื่อที่มีความหมายในโปรแกรมขนาดใหญ่ ชื่อตัวแปรตัวอักษรเดียวมักใช้สำหรับวงวนและเคาน์เตอร์ แต่ฉันคิดว่าควรหลีกเลี่ยงเป็นอย่างอื่น for (i = 0; i < 10; i++) {...}ใช้iและนั่นเป็นเรื่องธรรมดา jเป็นชื่อตัวแปรรอง

ชื่อตัวแปรแบบยาวนั้นยาวเกินไปเมื่อชื่อยาวหรือเต็มไปด้วยคำที่ว่างทำให้พวกมันยาวเกินความจำเป็น หากฉันมีตัวแปรชื่อคล้าย ๆ กันฉันจะพยายามลบส่วนทั่วไปที่สามารถแจกจ่ายได้และเก็บส่วนที่ไม่ซ้ำกันของชื่อ

ฉันจะตั้งชื่อให้ " isCurrentSquareNextToAtLeastOneBlockedSquare" currentSquareNextToBlockedSquare?ถ้าฉันทำในรูบี

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