ทำไมไม่ทั้งสอง
ประการแรก "คำอธิบาย" และ "verbose" ไม่เหมือนกัน ตัวอย่างเช่นหากคุณกำลังเขียนลูปแบบโลคัลพอสมควรi
ชื่อตัวแปรที่ดีมากสำหรับตัวแปรลูปคือ current_iteration_index
ในขณะที่เนื้อหาที่อธิบายเพิ่มเติมและ verbose แน่นอนยิ่งแย่ลงกว่าเดิมและไม่เพิ่มข้อมูลใด ๆ เลยเพราะการใช้i
ตัวแปร loop เป็นที่ยอมรับในระดับสากลและไม่มีความหมายอื่นi
ใด
ชื่อตัวแปรที่ดีนั้นเป็นคำอธิบายโดยที่โปรแกรมเมอร์คุ้นเคยกับสำนวนภาษาและแบบแผนของ codebase สามารถเดาได้ง่ายว่าบทบาทของพวกเขาคืออะไร แต่พวกเขาก็กระชับพอที่จะทำให้สิ่งต่าง ๆ กะทัดรัด
ขีด จำกัด 80 ตัวอักษรในขณะที่เดิมเป็นผลมาจากข้อ จำกัด ทางเทคนิคของเทอร์มินัลข้อความของปี 1970 ยังคงมีมูลค่ามากในวันนี้และแม้ว่าจะยังคงมีเหตุผลทางเทคนิค (ความยาวบรรทัดสูงสุดในโปรโตคอลเครือข่ายบางอย่าง เหตุผลที่น่าสนใจคือเหตุผลทางด้านจิตใจและสังคม ปรากฎว่าความยาวของเส้นรอบเครื่องหมาย 66 ตัวอักษรนั้นสร้างขึ้นเพื่อประสบการณ์การอ่านที่สะดวกสบายที่สุดสำหรับร้อยแก้วภาษาธรรมชาติ (ขนาดตัวอักษรที่น่าสนใจไม่ได้สร้างความแตกต่างมากนักดังนั้นหน้าจอหรือขนาดกระดาษ) ขีด จำกัด บรรทัด 80 ตัวอักษรนั้นค่อนข้างใกล้เคียง แต่เนื่องจากส่วนใหญ่ของโค้ดทั่วไปจะมีการเยื้องอย่างน้อยหนึ่งหรือสองระดับ (ซึ่งหมายถึงระหว่าง 4 ถึง 16 อักขระขึ้นอยู่กับการตั้งค่าการเยื้อง)
ผลของการเกาะติดกับเส้น 80 ตัวอักษรก็คือมันเป็นตัวบ่งชี้ที่ดีงามเมื่อสิ่งต่าง ๆ ซับซ้อนเกินไป เส้นที่มีความยาวมักเกิดจากหนึ่งในสิ่งต่อไปนี้:
- ฟังก์ชันที่มีรายการอาร์กิวเมนต์ที่ยาว นี่ไม่ใช่สิ่งที่ดีที่จะมีเพราะพวกเขาเป็นอุปสรรคต่อการอ่านและสามารถทำให้เกิดข้อบกพร่องที่บอบบางเช่นเมื่อผู้คนแลกเปลี่ยนคำสั่งโต้แย้งในลักษณะที่คอมไพเลอร์ไม่ได้จับ
- การแสดงออกที่ซับซ้อนมักพบในเงื่อนไข (เช่น
if ((user.isLoggedIn && user.hasPermission(page.getRequiredPermission()) && !user.isBanned) || page.getRequiredPermission() == null)
); นี่ก็มักจะค่อนข้างยากที่จะถอดรหัสและรหัสควรจะเขียนใหม่ในสิ่งที่มีโครงสร้างมากขึ้น เป็นไปได้มากที่การแสดงออกจะมากเกินไปและควรแยกออกเป็นวิธีการหรือฟังก์ชัน
print(translate(LANG_EN, LANG_ES, "This is the home page. Feel welcome to click around and see what we have."));
ตัวอักษรยาวใช้ในการเรียกฟังก์ชั่นหรือการแสดงออกเช่น ย้ายตัวอักษรลงในตัวแปรหรือค่าคงที่ มันอาจยังเกินความยาวบรรทัด แต่ถ้าคุณทำอย่างสม่ำเสมอผู้อ่านสามารถเพิกเฉยส่วนที่มองไม่เห็นอย่างปลอดภัยได้อย่างน้อยสมมติว่าเหลือเพียงส่วนที่เหลือของตัวอักษรดังต่อไปนี้ หรือดีกว่าให้ย้ายตัวอักษรออกจากรหัสและไปยังที่เก็บข้อมูลภายนอก (ไฟล์ฐานข้อมูลหรืออะไรก็ตาม)
- ข้อความที่ซ้อนกันอย่างลึกซึ้งเช่นหกระดับ
if
ในวิธีการเรียน (นั่นคือ 32 คอลัมน์ของการเยื้องสำหรับการตั้งค่าทั่วไป) อีกครั้งการทำรังแบบลึกนั้นทำให้เกิดโค้ดที่ซับซ้อนและอ่านยากและควรหลีกเลี่ยงเช่นกาฬโรควางรังลึกลงในสมองของมนุษย์ในขณะอ่าน
สิ่งเหล่านี้ล้วนเป็นอาการของสิ่งต่าง ๆ ที่คุณไม่ควรมีในรหัสฐานของคุณในระยะยาวและการบังคับใช้ขีด จำกัด 80 อักขระเป็นวิธีที่ดีและเรียบง่ายที่ช่วยลดความซับซ้อนและอ่านง่ายขึ้น (นั่นไม่ได้หมายความว่าคุณไม่สามารถเขียนโค้ดที่อ่านไม่ได้อย่างสมบูรณ์ใน 80 คอลัมน์: การแข่งขัน obfuscated-something-code ต่าง ๆ เป็นตัวอย่างที่ชัดเจน