Introduction
Testing ช่วยเรื่องการออกแบบโค้ดยังไง
เวลาโค้ด test ยาก เรามักเริ่มเห็นปัญหาเรื่องโครงสร้าง เช่น function ใหญ่เกินไป dependency เยอะ หรือ responsibility ไม่ชัด
สิ่งที่ test สะท้อนให้เห็น
หลายครั้ง test ไม่ได้ช่วยแค่ตรวจ bug แต่ช่วยบอกด้วยว่าโค้ดเราออกแบบดีพอหรือยัง
- โค้ดไหนผูกกันแน่นเกินไป
- โค้ดไหนแยก responsibility ไม่ดี
- function ไหนใหญ่เกินจน test ยาก
- dependency เยอะเกินไป