ฉันอยากรู้ว่าใครรู้คำแนะนำจากแหล่งที่เชื่อถือได้สำหรับจำนวนบรรทัดสูงสุดของรหัสสำหรับไฟล์ที่กำหนด ตัวอย่างเช่น Linter ของ Google แนะนำให้แต่ละบรรทัดไม่ควรเกิน 80 อักขระ
ฉันอยากรู้ว่าใครรู้คำแนะนำจากแหล่งที่เชื่อถือได้สำหรับจำนวนบรรทัดสูงสุดของรหัสสำหรับไฟล์ที่กำหนด ตัวอย่างเช่น Linter ของ Google แนะนำให้แต่ละบรรทัดไม่ควรเกิน 80 อักขระ
คำตอบ:
ไฟล์ควรสั้นพอที่คุณจะพบฟังก์ชั่นหรือวิธีการใดก็ได้โดยไม่ต้องเลื่อนไปมาหลายครั้งเพื่อหามันหรือต้องจำสตริงค้นหา ตัวชี้วัดที่ฉันใช้คือระยะเวลาที่ฉันใช้ค้นหารหัสภายในไฟล์เมื่อเทียบกับการอ่าน ถ้านั่นกลายเป็นสิ่งที่สังเกตได้ก็ถึงเวลาแบ่งพาร์ติชันไฟล์หรือคลาส
ขนาดที่ดีสำหรับบล็อกโค้ดพื้นฐานสั้นพอทั้งความกว้างและความสูงที่คุณสามารถฉายความกล้าของมันในระหว่างการตรวจสอบรหัสกลุ่มและทำให้มันพอดีโดยไม่มีแบบอักษรเล็กจนคนที่อยู่ด้านหลัง ห้องประชุมไม่สามารถอ่านได้ ขนาดนี้ยังช่วยหากคุณถูกเรียกให้อธิบายรหัสบางอย่างเมื่อคุณมีอุปกรณ์พกพาหรือแท็บเล็ต
ไม่มีสิ่งนั้นและถ้าเป็นเช่นนั้นมันจะขึ้นอยู่กับภาษาที่คุณใช้ (ทำสิ่งเดียวกันในแอสเซมเบลอร์กับ C # หรือ Java เป็นต้น)
สำหรับภาษาระดับที่สูงขึ้นคุณสามารถดูนี้การอภิปราย SO สำหรับ Java / C #, 10-20 บรรทัดต่อวิธีคือสิ่งที่ Bob Martin แนะนำให้ใช้สูงสุด ไม่มีการสนทนาเกี่ยวกับไฟล์เนื่องจากไม่เกี่ยวข้องและขึ้นอยู่กับว่าคลาสควรทำอะไร
ประมาณ 80 ตัวอักษรต่อบรรทัดที่ จำกัด - นี่คือการโยนกลับไปสู่วันที่ของการ์ดเจาะ ต้องบอกว่าเมื่อเส้นยาวเกินไปการอ่านจะได้รับความทุกข์
ไฟล์และความยาวบรรทัดเป็นการวัดผลรองของความซับซ้อนและเป็นตัวแปรสูง สิ่งที่คุณควรตั้งเป้าหมายคือโค้ดที่ไม่มีความซับซ้อนที่ไม่จำเป็นไม่นับจำนวนบรรทัดสูงสุด
ไฟล์ที่ยาวมักจะบ่งบอกว่าวิธีการรูทีนย่อยหรือคลาสนั้นซับซ้อนเกินไป (ทำหลายสิ่งมากเกินไป
เส้นยาวมักแสดงว่านิพจน์นั้นซับซ้อนเกินไป
เป็นกลิ่นที่บ่งบอกถึงปัญหาของรหัสที่อาจเกิดขึ้นซึ่งไม่ได้ระบุตัวชี้วัดเป้าหมายอย่างชัดเจน
ความยาวบรรทัดควรเป็นอย่างที่คุณไม่จำเป็นต้องเลื่อนหน้าจอเพื่อดูทั้งบรรทัด ขึ้นอยู่กับขนาดของจอภาพและความละเอียด
วิธีการและฟังก์ชั่นจะดีที่สุดถ้าสามารถใส่ได้หนึ่งหน้าจอ
ไฟล์ไม่ควรยาวเกินไป ที่ดีที่สุดคือไฟล์สั้น ๆ ซึ่งง่ายต่อการเข้าใจคลาสและการใช้งาน
เมื่อฉันทำงานในโครงการที่มีไฟล์ 10 klines มันเหมือนกับการอ่านหนังสือที่ซับซ้อนมาก ฉันต้องบอกว่ามีปัญหาเกิดขึ้นจากการใช้งานหรือไม่
80 ตัวอักษร!
ฉันจำได้ว่าฉันเคยดูไฟล์ซอร์สโค้ดสำหรับโปรแกรมการเรียกเก็บเงินประมาณ 80 หน้าขึ้นไปเมื่อฉันทำ COBOL แน่นอนว่าฉันไม่สามารถเห็นได้ว่านี่เป็นการปฏิบัติทั่วไป แต่ 80 ตัวอักษรนั้นไร้สาระอย่างเท่าเทียมกัน
จากมุมมองขนาดคลาสถ้าคุณพยายามใช้คำแนะนำนี้กับคลาสลูกค้าทั่วไปที่มีคุณสมบัติประมาณ 80 รายการและ 20 วิธีหรือมากกว่านั้นคุณจะต้องแบ่งคลาสออกเป็นหลาย ๆ คลาสและทำให้โค้ดยุ่งเหยิงอย่างแน่นอน
ฉันพยายามทำให้ชั้นเรียนและวิธีการใช้งานสั้น แต่ไม่ต้องกังวลเกี่ยวกับความยาวของบรรทัด ในวันนี้ที่มีหน้าจอกว้างและตัวระบุที่ยาวฉันคิดว่าตัวละครแปดสิบนั้นน้อยเกินไป มันใช้งานบางอย่างเพื่อทำลายคำสั่งเพื่อให้พวกเขาอ่านได้ง่ายและด้วยการ จำกัด จำนวนอักขระแปดสิบครั้งมันเกิดขึ้นค่อนข้างบ่อย ฉันคิดว่าประมาณ 120 หรือ 130 คอลัมน์ต่อบรรทัดเหมาะสมกว่า