“Definition of Complexity” ความซับซ้อนของโค้ดคืออะไร? | Practical Byte - LearnAlgorithm
NEW 7-Days Fundamentals Class #5 เปิดแล้ว เรียนจบรับเงินคืน 50%
Practical ByteFebruary 19, 2026
|
2 mins read

“Definition of Complexity” ความซับซ้อนของโค้ดคืออะไร?

นิยามของ complexity จากหนังสือ A Philosophy of Software Design ที่ช่วยให้เรา sense กับความซับซ้อนของโค้ดได้ง่ายขึ้น

“Definition of Complexity” ความซับซ้อนของโค้ดคืออะไร?อ่านบทความนี้ใน Facebook

“Complexity is anything related to the structure of a software system that makes it hard to understand and modify the system.” - A Philosophy of Software Design

“ถ้าการแก้โค้ดหรือทำความเข้าใจโค้ดเป็นเรื่องยาก แสดงว่า complexity ของโค้ดเราสูง”

และหน้าที่ของเราคือ minimize complexity โดยรวมให้ได้น้อยที่สุด

  • ถ้าเราแก้อะไรสักอย่างตรงนึง แต่ต้องไปไล่แก้อีก 5 ที่ แสดงว่า hard to modify ละ

  • ถ้าเราจะแก้บัค แต่ใช้เวลาเป็นชั่วโมงเพื่อแค่เข้าใจว่าโค้ดเดิมทำงานยังไงแสดงว่า hard to understand ละ (บางทีโค้ดสั้น ทำได้ไวแต่เข้าใจยาก ก็แย่กว่าโค้ดยาวแต่เข้าใจง่ายนะ)

  • หรือบางทีเรื่องเล็ก ๆ เช่นเรื่องตัวแปรเช่น “animationDuration” แล้วเราต้องมานั่งนึกว่าหน่วยเป็น second หรือ milli-second อันนี้ก็เรียกว่า hard to understand เหมือนกัน

“One of the most important goals of good design is for a system to be obvious.”

ส่วนตัวเราชอบนิยามนี้จากหนังสือ “A Philosophy of Software Design” มาก คือไม่ใช่แค่มันเรียบง่ายแล้วก็ตรงประเด็น แต่มันช่วยทำให้เรา sense กับ complexity ได้ง่ายขึ้นด้วยเวลาเราอ่านโค้ด

มาฝากไว้สั้น ๆ ไว้มีเวลาเดี๋ยวมารีวิวต่อ ไปทำโปรเจคต่อแปปปป~

Chun Rapeepat

Rapeepat Kaewprasit (Chun)

คน ๆ หนึ่งที่ชื่นชอบในการสร้าง การทำธุรกิจ และการได้ลองทำอะไรใหม่ ๆ ไปเรื่อย ๆ