Anti-pattern คืออะไร? ทำความรู้จักกับรูปแบบการแก้ปัญหาที่ผิดพลาด
สรุปใจความสำคัญ
- Anti-pattern คือวิธีการแก้ปัญหาที่พบบ่อยแต่ส่งผลเสียมากกว่าผลดี
- คำนี้ถูกสร้างขึ้นในปี 1995 โดย Andrew Koenig
- การจะเป็น Anti-pattern ได้ต้องเกิดขึ้นซ้ำอย่างน้อย 3 ครั้งตามกฎของเลขสาม
- ครอบคลุมทั้งด้านการออกแบบซอฟต์แวร์ สถาปัตยกรรม และการบริหารจัดการโครงการ
Anti-pattern คือคำศัพท์ที่ใช้เรียกวิธีการแก้ปัญหาที่พบบ่อย แต่กลับให้ผลลัพธ์ที่ตรงกันข้ามกับที่คาดหวัง หรือส่งผลเสียมากกว่าผลดีในระยะยาว คำนี้ถูกสร้างขึ้นในปี 1995 โดย Andrew Koenig โดยได้รับแรงบันดาลใจจากหนังสือ Design Patterns ซึ่งนำเสนอรูปแบบการออกแบบซอฟต์แวร์ที่มีประสิทธิภาพและเชื่อถือได้
ประวัติความเป็นมา
Michael Ackroyd ได้อธิบายถึง Anti-patterns ในงานประชุม Object World West Conference ปี 1996 และต่อมาในปี 1998 หนังสือชื่อ AntiPatterns ได้ทำให้แนวคิดนี้เป็นที่รู้จักอย่างแพร่หลาย โดยขยายขอบเขตจากการออกแบบซอฟต์แวร์ไปสู่สถาปัตยกรรมซอฟต์แวร์และการบริหารจัดการโครงการ นอกจากนี้ นักเขียนคนอื่นๆ ยังได้ขยายแนวคิดนี้ให้ครอบคลุมถึง Anti-patterns ในด้านสิ่งแวดล้อม องค์กร และวัฒนธรรมอีกด้วย
ลักษณะสำคัญของ Anti-pattern
เราสามารถแยก Anti-pattern ออกจากนิสัยเสีย หรือแนวทางปฏิบัติที่ผิดพลาดทั่วไปได้ด้วยลักษณะเด่น 2 ประการ ดังนี้:
- เป็นที่นิยมใช้: Anti-patterns มักจะเป็นกระบวนการ โครงสร้าง หรือรูปแบบการกระทำที่ดูเหมือนจะเหมาะสมและมีประสิทธิภาพในตอนแรก แต่เมื่อเวลาผ่านไปจะพบว่ามีข้อเสียมากกว่าข้อดี
- มีทางเลือกที่ดีกว่า: มีวิธีการแก้ปัญหาที่ได้รับการบันทึกไว้ สามารถทำซ้ำได้ และมีประสิทธิภาพมากกว่า ซึ่งเป็นทางเลือกที่ถูกต้องแทนที่จะใช้ Anti-pattern
กฎของเลขสาม (Rule-of-three)
เช่นเดียวกับ Design Patterns, Anti-patterns มี "กฎของเลขสาม" ซึ่งระบุว่า รูปแบบการแก้ปัญหาหนึ่งๆ จะถูกนับว่าเป็น Anti-pattern ได้ก็ต่อเมื่อมันเกิดขึ้นซ้ำอย่างน้อย 3 ครั้งในสถานการณ์ที่คล้ายคลึงกัน
ประโยชน์ของการบันทึก Anti-patterns
การจัดทำเอกสารเกี่ยวกับ Anti-patterns ช่วยให้นักพัฒนาและผู้บริหารสามารถวิเคราะห์ปัญหาและรวบรวมความรู้จากผู้เชี่ยวชาญได้ โดยเอกสารที่ดีไม่ควรเพียงแค่บอกว่า Anti-pattern นั้นส่งผลเสียอย่างไร แต่ควรนำเสนอทางเลือกอื่นเพื่อลดความเสียหายและแก้ไขปัญหาให้ถูกต้อง
คำถามที่พบบ่อย
Anti-pattern ต่างจากความผิดพลาดทั่วไปอย่างไร?
Anti-pattern เป็นรูปแบบการแก้ปัญหาที่พบบ่อยและดูเหมือนจะทำงานได้ในตอนแรก แต่ส่งผลเสียในระยะยาว และมีวิธีการแก้ปัญหาที่ถูกต้องและมีประสิทธิภาพมากกว่ารองรับอยู่
ใครเป็นผู้ริเริ่มแนวคิด Anti-pattern?
Andrew Koenig เป็นผู้ริเริ่มใช้คำนี้ในปี 1995 โดยได้รับแรงบันดาลใจจาก Design Patterns
ทำไมเราถึงต้องศึกษา Anti-pattern?
เพื่อให้เราสามารถระบุข้อผิดพลาดที่พบบ่อยในการทำงาน และหลีกเลี่ยงการเลือกใช้วิธีการแก้ปัญหาที่ดูเหมือนจะง่ายแต่สร้างปัญหาใหญ่ในอนาคต


