- ปี 2007, โค้ด 2000 บรรทัด
(folklore.org)The Original Macintosh: 36 of 123 - 2000 Lines Of Code
-
ช่วงต้นปี 1982 ทีมซอฟต์แวร์ของ Lisa กำลังทุ่มเทกับงานช่วงสุดท้ายเพื่อออกซอฟต์แวร์ภายใน 6 เดือนข้างหน้า
-
ผู้จัดการบางคนคิดว่าการติดตามปริมาณโค้ดที่วิศวกรแต่ละคนเขียนในแต่ละสัปดาห์เป็นความคิดที่ดี จึงทำแบบฟอร์มที่ต้องส่งทุกวันศุกร์ โดยในแบบฟอร์มนั้นมีช่องให้กรอกจำนวนบรรทัดโค้ดที่เขียนในสัปดาห์นั้น
-
Bill Atkinson ผู้เขียน Quickdraw และผู้ออกแบบส่วนติดต่อผู้ใช้หลัก มองว่าการนับจำนวนบรรทัดโค้ดเป็นวิธีวัดผลิตภาพซอฟต์แวร์ที่ไร้สาระ เพราะมันเพียงแต่ส่งเสริมให้เขียนโค้ดที่รก พองเกินจริง และมีข้อผิดพลาด
-
Atkinson เพิ่งทำงานเพื่อปรับแต่งกลไกคำนวณ region ของ Quickdraw และได้เขียน region engine ใหม่ทั้งหมดโดยใช้อัลกอริทึมที่เรียบง่ายและทั่วไปกว่า ซึ่งหลังจากปรับจูนเล็กน้อยแล้วทำให้การทำงานเกี่ยวกับ region เร็วขึ้นเกือบ 6 เท่า
-
ผลข้างเคียงของการเขียนใหม่นี้คือสามารถลดโค้ดลงได้ราว 2000 บรรทัด
-
ในช่วงสุดท้ายของงานปรับแต่ง ถึงเวลาที่เขาต้องกรอกแบบฟอร์มของฝ่ายบริหารเป็นครั้งแรก และเมื่อมาถึงช่องจำนวนบรรทัดโค้ด เขาหยุดคิดอยู่ครู่หนึ่งก่อนจะใส่ตัวเลข
-2000 -
ไม่แน่ชัดว่าผู้จัดการตอบสนองอย่างไร แต่หลังจากผ่านไปอีกไม่กี่สัปดาห์ พวกเขาก็เลิกขอให้ Atkinson กรอกแบบฟอร์ม และเขาก็ยินดีทำตาม
ความเห็นของ GN⁺
- บทความนี้มอบบทเรียนสำคัญว่า ในการพัฒนาซอฟต์แวร์ ปริมาณโค้ดไม่ได้สะท้อนผลิตภาพที่แท้จริง การวัดผลงานด้วยจำนวนบรรทัดโค้ดไม่เพียงไม่มีประสิทธิภาพ แต่บางครั้งยังให้ผลตรงข้ามอีกด้วย
- ตัวอย่างของ Bill Atkinson เน้นย้ำถึงความสำคัญของการปรับแต่งซอฟต์แวร์ การได้ประสิทธิภาพที่เร็วขึ้นด้วยโค้ดที่น้อยลงเป็นหนึ่งในหลักการสำคัญของวิศวกรรมซอฟต์แวร์
- เรื่องนี้ช่วยให้เข้าใจว่าทำไมแนวปฏิบัติการพัฒนาสมัยใหม่ โดยเฉพาะแนวทางอย่าง Agile และการทำ CI/CD อย่างต่อเนื่อง จึงมีความสำคัญ เพราะแนวทางเหล่านี้ให้คุณค่ากับคุณภาพ ความสามารถในการบำรุงรักษา และประสบการณ์ผู้ใช้ มากกว่าปริมาณโค้ด
- ในอุตสาหกรรมมีการใช้เครื่องมือและเมตริกหลากหลายเพื่อวัดและปรับปรุงคุณภาพโค้ด เช่น เครื่องมือวิเคราะห์โค้ดแบบสถิต กระบวนการรีวิวโค้ด และการติดตาม test coverage
- บทความนี้เตือนนักพัฒนาว่า การโฟกัสที่คุณภาพของโค้ด หลีกเลี่ยงความซับซ้อนที่ไม่จำเป็น และปรับประสิทธิภาพให้เหมาะสม มีความสำคัญเพียงใด
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ความขัดแย้งเรื่องจำนวนบรรทัดโค้ดระหว่าง Microsoft และ IBM
ลิงก์ไปยังการถกเถียงก่อนหน้า
การใช้จำนวนบรรทัดโค้ดเป็นตัวชี้วัดผลผลิตเป็นเรื่องโง่อย่างมาก
order byพร้อมตั้งคำถามว่าจะวัดผลกระทบของโค้ดเพียงหนึ่งบรรทัดได้อย่างไร อีกทั้งยังแบ่งปันประสบการณ์ว่ามักเป็นโปรแกรมเมอร์ที่ไม่เก่งซึ่งเขียนโค้ดมากกว่า และยกกรณีที่นักพัฒนาของ Microsoft เขียนโค้ดของ IBM จำนวน 33,000 อักขระใหม่ให้เหลือเพียง 220 อักขระ ส่งผลให้ผลงานของ Microsoft ถูกประเมินในเชิง "ติดลบ"บางครั้งคำถามง่าย ๆ กลับสร้างผลกระทบได้มากที่สุด
แบ่งปันประสบการณ์การปรับโค้ดให้เหมาะสมในช่วงต้นอาชีพ
การขาดทิศทางที่ชัดเจนเมื่อเริ่มต้นโครงการ
การทดลองทางความคิดเกี่ยวกับการใช้การลบโค้ดเป็นตัวชี้วัด
Atkinson Dither ของ Bill Atkinson
มุมมองต่อจำนวนบรรทัดโค้ด
บทบาทในฐานะพนักงาน