Design Principles
Design Principles คืออะไร
พอเรา Design ระบบไปสักพัก เราอาจจะไปตกหลุมพรางอะไรบางอย่าง ที่ถ้าเรามี Principle เหล่านี้เราอาจจะหลีกเลี่ยงมันออกไปได้
Don't Repeat Yourself (DRY)
ระบบ หรือโค้ดเรา ควรจะทำงานอะไรที่แตกต่างกัน มีจุดประสงค์ต่างกัน ซึ่งจะทำให้ถ้าเราต้องการจะเปลี่ยนแปลงโค้ดส่วนไหน เราจะแค่เพิ่มที่เดียว คล้าย ๆ Single Responsibility ใน SOLID
Keep It Simple, Stupid (KISS)
ทำให้โค้ด หรือระบบแต่ละส่วนมันง่ายที่สุด (keep it simple) หลีกเลี่ยงการทำให้มันยากหรือซับซ้อน ทำให้ง่ายเวลาเราจะมา maintain และง่ายเวลาทำความเข้าใจ
You Ain't Gonna Need It (YAGNI)
Do the Simplest Thing That Could Possibly Work อย่าใส่อะไรที่เป็นแบบ เผื่อว่าต้องใช้ เอาแค่ง่ายที่สุด จำเป็นที่สุด ก็พอ คล้ายๆกับ KISS แต่อันนี้เราจะตัดส่วนที่ไม่จำเป็นออก แต่ KISS จะเป็นทำให้มันง่ายมากกว่า
Separation of Concerns (SoC)
แยกส่วน software เป็นส่วนๆ ให้แต่ละส่วนมีจุดประสงค์ หน้าที่ที่ต่างกัน โดยให้แต่ละส่วนที่แยกออกมา Unique, Low-coupling, High-cohesion ด้วย จะได้ง่ายยย
Last updated