สมมติเราทำระบบบัญชีระบบนึง มีประเภทของ Transaction 3 แบบ คือ X,Y,Z
ถ้า Requirement แรกบอกว่าทุกๆ “รายการ Transaction ทุกอันต้องหักเงินในบัญชีลูกค้า”
account.debit(transaction.amount);
บ่อยครั้งมากๆ ที่ผมจะเจอปัญหาแบบนี้ ทั้งในโค้ดตัวเองและโค้ดของคนอื่น แล้วผมพบว่ากว่าผมจะเห็นว่ามันเป็น Code smell ก็ต้องสั่งสมประสบการณ์มาเยอะเหมือนกัน
This is a very common mistakes, that even I have get it wrong for quite a while along my career.
Let’s say that we needs to send email, and we will use a single class and single object.
ในวงการ Developer เรามักจะมีคำพูดที่ว่า “ถ้าเห็นว่ามันไม่ดี บ่นทำไม ทำไมไม่แก้ไขให้มันดีขึ้นล่ะ”
คำพูดนี้ฟังดูเผินๆ ก็อาจจะเหมือนเป็นคำพูดที่มีเหตุผล Make sense แล้วเป็นเรื่องที่คนทำงานที่มีทัศนคติดีควรจะมีไว้