วันนี้เจอคำถามที่น่าสนใจคือ
เราทำการวิเคราะห์ code ของระบบงานที่เราพัฒนากันอย่างไร ?
เพื่อทำให้รู้สถานะปัจจุบันของระบบ
เพื่อทำให้เข้าใจโครงสร้าง
เพื่อทำให้เห็นมุมมองต่าง ๆ
เพื่อทำให้เห็นปัญหาต่าง ๆ
หลังจากนั้นจึงนำข้อมูลเหล่านั้น มาปรับปรุง code ของระบบให้ดีขึ้น
สิ่งที่น่าจะใช้ในการวิเคราะห์น่าจะประกอบไปด้วยอะไรบ้าง ?
- ความซับซ้อนของ code ด้วย Cyclomatic complexity
- ใช้ Lint
- Static code analysis
- Duplicate code
- Dead code
- Cohesion
- Coupling
- Testing
- Code coverage
- Dependency graph
- Performance, Tracing และ Monitoring app
- ดูด้วยตาคน ใจคน ประสบการณ์คน
- และอื่น ๆ อีกมากมาย
คำถามคือ ในทีมพัฒนาใช้อะไรมาวัดบ้าง ? อย่างไร ?
คำถามต่อมาคือ ทำการปรับปรุงแก้ไขหรือไม่ ? อย่างไร ?