การเขียนโปรแกรมให้สามารถทำงานได้ถือเป็นพื้นฐานของนักพัฒนา แต่การเขียนโค้ดให้ เป็นระเบียบ อ่านง่าย และดูแลต่อได้ง่าย นั้นคืออีกระดับหนึ่งของความเชี่ยวชาญ เทคนิคหนึ่งที่ได้รับการยอมรับอย่างแพร่หลายคือแนวทาง “Clean Code” ซึ่งจะช่วยให้โค้ดของคุณไม่เพียงแต่ใช้งานได้ แต่ยังสื่อสารถึงเจตนาของผู้เขียนได้ชัดเจนอีกด้วย
Clean Code คืออะไร?
Clean Code คือการเขียนโค้ดให้สะอาด เป็นระเบียบ และชัดเจน เพื่อให้ผู้อื่น หรือแม้แต่ตัวคุณเองในอนาคตสามารถเข้าใจโค้ดเหล่านั้นได้ทันทีว่าเกิดอะไรขึ้น ไม่ต้องเสียเวลาไล่ดูทีละบรรทัดแบบงง ๆ โดยหลักการของ Clean Code มีจุดเด่นที่การตั้งชื่อที่ดี โครงสร้างที่เป็นระบบ และการลดความซับซ้อนที่ไม่จำเป็น
เทคนิคเขียนโค้ดให้สะอาดแบบ Clean Code
1. ตั้งชื่อให้สื่อความหมาย
- ตั้งตัวแปร ฟังก์ชัน และคลาสให้เข้าใจง่าย เช่น
calculateSalary()ดีกว่าcalSal() - หลีกเลี่ยงการใช้ตัวอักษรย่อเว้นแต่จะเป็นที่เข้าใจกันทั่วไป เช่น HTML, URL
- ใช้ชื่อที่บอกวัตถุประสงค์ เช่น
isUserLoggedInแสดงถึงการตรวจสอบสถานะผู้ใช้
2. เขียนฟังก์ชันให้สั้น และทำงานอย่างเดียว
ฟังก์ชันที่ดีควรทำหน้าที่เพียงอย่างเดียว และมีความยาวไม่เกิน 20 บรรทัด การแยกฟังก์ชันทำให้โค้ดไม่ซับซ้อน และทดสอบเป็นส่วนๆ ได้ง่าย
3. ใส่คอมเมนต์เฉพาะจุดที่จำเป็น
อย่าเขียนคอมเมนต์อธิบายโค้ดทุกบรรทัด แต่ควรใช้ในจุดที่โค้ดอาจเข้าใจยาก หรือมีความจำเป็นพิเศษ เช่น workaround หรือ bug ที่ยังรอแก้ไข
4. จัดวางโครงสร้างโค้ดอย่างมีระเบียบ
- แยกไฟล์ให้เหมาะสม เช่น แต่ละคลาสหรือโมดูลควรอยู่ในไฟล์ของตัวเอง
- เรียงลำดับจาก public → protected → private
- เว้นบรรทัดเพื่อเพิ่มความดูง่าย เช่น คั่นระหว่างฟังก์ชันหรือส่วนสำคัญของโค้ด
5. ระวังการทำซ้ำ (DRY Principle)
Don’t Repeat Yourself หรือ DRY คือหลักการที่ควรหลีกเลี่ยงการเขียนโค้ดซ้ำ วิธีแก้คือการแยกโค้ดซ้ำไปเป็นฟังก์ชันหรือโมดูล แล้วเรียกใช้งานซ้ำ
6. ตั้งชื่อคอนสแตนท์ให้เหมาะสม
คอนสแตนท์ควรเขียนด้วยตัวพิมพ์ใหญ่และใช้ _ ขีดคั่น เช่น MAX_RETRY เพื่อให้ง่ายต่อการสังเกต
7. ใช้โครงสร้างควบคุมอย่างระมัดระวัง
- หลีกเลี่ยงการซ้อน if ซ้อน for หลายระดับ
- ใช้ return เร็ว ๆ เมื่อพบเงื่อนไขผิด เพื่อไม่ต้องใช้ else
- แนะนำใช้ switch กรณีที่มีหลายกรณีเป็นไปได้ แทน if-else
เปรียบเทียบโค้ดปกติกับ Clean Code
| โค้ดทั่วไป | Clean Code |
|---|---|
function cal(x) { return x*1.07; } |
function calculateTax(amount) { return amount * 1.07; } |
var a=10; |
var itemCount = 10; |
// เพิ่มผลรวม |
// Add total to shopping summary |
เครื่องมือช่วยให้เขียน Clean Code ง่ายขึ้น
- Lint Tools: ตรวจสอบรูปแบบการเขียน เช่น ESLint, JSHint
- Formatter: จัดรูปแบบโค้ดให้เป็นมาตรฐาน เช่น Prettier
- Static Analysis Tools: วิเคราะห์คุณภาพของโค้ด เช่น SonarQube
การเขียนโปรแกรมให้สะอาดและเป็นระเบียบด้วยเทคนิค Clean Code ไม่ได้เป็นแค่เรื่องของความสวยงาม แต่ยังส่งผลต่อคุณภาพงาน ความสามารถในการทำงานร่วมกับทีม และการดูแลโค้ดในระยะยาว
เริ่มต้นลองปรับปรุงโค้ดของคุณตามแนวทางที่กล่าวมา อาจเริ่มจากโครงการเล็ก ๆ แล้วขยับไปสู่ระบบที่ใหญ่ขึ้น คุณจะพบว่า Clean Code คือการเปลี่ยนแปลงที่ช่วยให้ชีวิตของนักพัฒนาง่ายขึ้นอย่างแท้จริง
