ความยาวไฟล์ 'แนะนำ' และความกว้างของบรรทัด [ปิด]


9

ฉันอยากรู้ว่าใครรู้คำแนะนำจากแหล่งที่เชื่อถือได้สำหรับจำนวนบรรทัดสูงสุดของรหัสสำหรับไฟล์ที่กำหนด ตัวอย่างเช่น Linter ของ Google แนะนำให้แต่ละบรรทัดไม่ควรเกิน 80 อักขระ


ตัวอย่างของคุณไม่สอดคล้องกับคำถาม คำถามของคุณถามเกี่ยวกับบรรทัดต่อไฟล์และตัวอย่างของคุณคืออักขระต่อบรรทัด
Jason S

2
มันเป็นแนวคิดเดียวกัน - พื้นที่สี่เหลี่ยมที่คุณต้องเลื่อนไปรอบ ๆ ไม่ว่าจะเป็นแนวนอนหรือแนวตั้ง
Devin G Rhode

คำตอบ:


11

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

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


นี่คือแนวทางที่มีประโยชน์ที่สุดขอบคุณมาก!
Devin G Rhode

มีความยาวไฟล์ที่สั้นเกินไปหรือไม่ ฉันมีโครงการที่มี 35 ไฟล์โดยมีความยาวเฉลี่ยประมาณ 200 บรรทัด
ด่าน

1
@ แดนฉันจะกล้า "ไม่" เป็นคำตอบ หากการเปิดไฟล์นั้นยากเกินไปในการตั้งค่าของคุณอาจถึงเวลาที่จะต้องปรับปรุงการตั้งค่าของคุณ (เช่นปลั๊กอิน vim, IDE ที่ดีกว่า, ไม่ว่า emacs จะทำอะไร)
Mike Graf

@Dan: ไฟล์สั้นเกินไป? เป็นไปได้ถ้าคุณใช้เวลามากขึ้นในการค้นหาไฟล์จิ๋วที่ถูกต้องสำหรับ LOC สองสามตัวแทนที่จะหามันในไฟล์ที่มีเหตุผลและเกี่ยวข้องอย่างใกล้ชิด (แต่ไม่ยาวเกินไป)
hotpaw2

9

ไม่มีสิ่งนั้นและถ้าเป็นเช่นนั้นมันจะขึ้นอยู่กับภาษาที่คุณใช้ (ทำสิ่งเดียวกันในแอสเซมเบลอร์กับ C # หรือ Java เป็นต้น)

สำหรับภาษาระดับที่สูงขึ้นคุณสามารถดูนี้การอภิปราย SO สำหรับ Java / C #, 10-20 บรรทัดต่อวิธีคือสิ่งที่ Bob Martin แนะนำให้ใช้สูงสุด ไม่มีการสนทนาเกี่ยวกับไฟล์เนื่องจากไม่เกี่ยวข้องและขึ้นอยู่กับว่าคลาสควรทำอะไร

ประมาณ 80 ตัวอักษรต่อบรรทัดที่ จำกัด - นี่คือการโยนกลับไปสู่วันที่ของการ์ดเจาะ ต้องบอกว่าเมื่อเส้นยาวเกินไปการอ่านจะได้รับความทุกข์


5
+1: เป็นการดีที่จะทำให้บรรทัดกว้างน้อยกว่า 80 ตัวอักษร อ่านง่ายขึ้นและให้พื้นที่มากขึ้นสำหรับหน้าต่างข้างเคียง
Donal Fellows

6
โดยส่วนตัวแล้วฉันคิดว่าการอ่านจะได้รับความทุกข์เมื่อเส้นถูกเขียนขึ้นเป็นหลายบรรทัดเพื่อให้พอดีกับ 80 หรือน้อยกว่า นอกจากนี้ยังมีเวลาที่ต้องตัดสินใจว่าจะพักที่ไหนหรือโต้เถียงกันในเรื่องนั้น
ergosys

5

ไฟล์และความยาวบรรทัดเป็นการวัดผลรองของความซับซ้อนและเป็นตัวแปรสูง สิ่งที่คุณควรตั้งเป้าหมายคือโค้ดที่ไม่มีความซับซ้อนที่ไม่จำเป็นไม่นับจำนวนบรรทัดสูงสุด

ไฟล์ที่ยาวมักจะบ่งบอกว่าวิธีการรูทีนย่อยหรือคลาสนั้นซับซ้อนเกินไป (ทำหลายสิ่งมากเกินไป

เส้นยาวมักแสดงว่านิพจน์นั้นซับซ้อนเกินไป

เป็นกลิ่นที่บ่งบอกถึงปัญหาของรหัสที่อาจเกิดขึ้นซึ่งไม่ได้ระบุตัวชี้วัดเป้าหมายอย่างชัดเจน


3

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

วิธีการและฟังก์ชั่นจะดีที่สุดถ้าสามารถใส่ได้หนึ่งหน้าจอ

ไฟล์ไม่ควรยาวเกินไป ที่ดีที่สุดคือไฟล์สั้น ๆ ซึ่งง่ายต่อการเข้าใจคลาสและการใช้งาน
เมื่อฉันทำงานในโครงการที่มีไฟล์ 10 klines มันเหมือนกับการอ่านหนังสือที่ซับซ้อนมาก ฉันต้องบอกว่ามีปัญหาเกิดขึ้นจากการใช้งานหรือไม่


รหัสไม่ควรต้องมีการตั้งค่าจอภาพขนาดใหญ่แบบอักษรขนาดเล็กโดยเฉพาะสำหรับการตรวจสอบรหัสกลุ่ม
hotpaw2

"ความยาวบรรทัดควรเป็นอย่างที่คุณไม่ต้องเลื่อนหน้าจอเพื่อดูทั้งบรรทัด" - จะเกิดอะไรขึ้นถ้าตัวแก้ไขของคุณครอบคลุม
Dan Dascalescu

3

80 ตัวอักษร!

ฉันจำได้ว่าฉันเคยดูไฟล์ซอร์สโค้ดสำหรับโปรแกรมการเรียกเก็บเงินประมาณ 80 หน้าขึ้นไปเมื่อฉันทำ COBOL แน่นอนว่าฉันไม่สามารถเห็นได้ว่านี่เป็นการปฏิบัติทั่วไป แต่ 80 ตัวอักษรนั้นไร้สาระอย่างเท่าเทียมกัน

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


1
อย่างแน่นอน 80 ตัวอักษรหมายความว่าคุณสามารถพิมพ์ส่วนของรหัสเพื่อระดมสมองด้วยขนาดตัวอักษรที่เหมาะสมบนกระดาษ A4 / Letter นอกจากนี้ยังหมายความว่าบนหน้าจอคอมพิวเตอร์ที่เหมาะสมคุณสามารถดูสำเนาของซอร์สโค้ดได้สามชุดโดยไม่ต้องเลื่อนแนวนอนเพื่อทำการผสานสามทาง (ตลกที่ 80x8x3 คือ 1920 * 8 ')
Mark Booth

2

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


ฉันใช้จอภาพ 22 "พลิกในแนวตั้งซึ่งให้ฉัน 1080 พิกเซลในแต่ละหน้าจอ (และในแนวตั้งฉันสามารถมองเห็นรหัส 104 บรรทัดในเวลา!) การรักษาความกว้างของบรรทัดถึง 90 หรือน้อยกว่าตัวละครมีประโยชน์ในสถานการณ์เช่นนี้
Roy Tinker
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.