안티패턴
보이기
이 문서의 내용은 출처가 분명하지 않습니다. (2013년 5월) |
안티패턴(anti-pattern)은 소프트웨어 공학 분야 용어이며, 실제 많이 사용되는 패턴이지만 비효율적이거나 비생산적인 패턴을 의미한다.
안티패턴은 1995년 앤드루 케이니그가 디자인 패턴을 참고하여 처음 사용한 말이다. 그리고 3년후 <안티패턴>이라는 책 때문에 '안티패턴'이라는 용어가 널리 알려지게 되었다.
![]() |
이 글은 소프트웨어에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |
개념과 역사
[편집]안티패턴(Anti-pattern)은 1990년대 초 소프트웨어 공학 분야에서 비효율적이고 반복되는 부적절한 해결책을 체계적으로 정리하기 위해 등장한 개념으로, 전통적인 디자인 패턴에 대한 역설적 대응으로 출발하였다.[1]
분류 및 유형
[편집]안티패턴은 설계, 프로젝트 관리, 프로세스 등 여러 유형으로 나뉜다. 대표적인 예로는 ‘스파게티 코드(spaghetti code)’, ‘황금 망치(golden hammer)’, ‘죽음의 나선(death march)’ 등이 있다.[2]
중요성과 대응
[편집]안티패턴을 인지하고 회피하는 것은 소프트웨어 품질 개선과 유지보수 비용 절감에 필수적이다. 이를 위해 리팩토링, 코드 리뷰, 설계 원칙 준수 등의 대응 전략이 권장된다.[3]
연구 동향 및 확장
[편집]최근 안티패턴 개념은 소프트웨어를 넘어 조직 관리, UX 디자인, 데이터베이스 설계 등 다양한 분야로 확장되어, 문제 해결의 반면교사 역할을 하고 있다.[4]
- ↑ Brown, William J. 외. 「AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis」, Wiley, 1998.
- ↑ Brown et al., 1998.
- ↑ Fowler, Martin. 「Refactoring: Improving the Design of Existing Code」, Addison-Wesley, 1999.
- ↑ Smith, John. 「Extending Anti-patterns to Organizational Practices」, Journal of Systems and Software, 2021.