**안티패턴(anti-pattern)**은 반복되는 문제에 대한 흔하지만 나쁜 해결책입니다 — 합리적으로 보이지만 나쁜 결과(유지보수가 어렵거나, 버그가 많거나, 경직된 코드)로 이어지는 접근 방식입니다. 이를 인식하면 흔한 실수를 피하는 데 도움이 됩니다.
안티패턴이란
안티패턴 = 흔히 사용되지만 역효과를 내는 해결책:
→ 해결책처럼 보이지만 더 많은 문제(기술 부채, 버그, 경직성)를 유발함
→ 디자인 패턴(검증된 좋은 해결책)의 반대
→ 이를 인식하면 흔한 함정을 피하는 데 도움이 됨
흔한 코드/설계 안티패턴
갓 오브젝트/클래스(GOD OBJECT) → 너무 많은 일을 하는 하나의 클래스(거대하고 모든 것을 앎) → 유지보수 어려움;
단일 책임 위반
스파게티 코드 → 명확한 흐름 없이 얽히고 구조 없는 코드 → 따라가거나 변경하기 어려움
복사-붙여넣기 프로그래밍 → 중복된 코드(DRY 위반) → 버그/변경을 모든 곳에서 고쳐야 함
매직 넘버/스트링 → 설명 없는 리터럴 값 → 불명확하고 오류가 발생하기 쉬움
이른 최적화 → 필요하기 전에 최적화 → 헛된 노력, 복잡성
골든 해머(GOLDEN HAMMER) → 모든 것에 하나의 익숙한 도구/패턴을 남용("망치를 들면...")
하드코딩 → 설정 가능해야 할 값을 코드에 박아 넣음
