[java Anti Pattern Series] 02.goldenhammer
January 16, 2025
GoldenHammer
If all you have is hammer, everything looks lika a nail.
(망치를 들면 주변 모든 것이 못으로 보인다.) 이라는 말에서 유래
- 가장 적합한지 여부와 관계 없이 모든 문제에 대해서 동일한 도구나 기술을 사용하는 것
- 상황에 맞는 적합한 방법이 아닌 하나에 매몰되어 부적합함에도 사용하려고 드는 것을 의미
- 특정 문제에 대한 최선의 해결책 여부와 상관 없이 모든 직면하는 문제에 대해서 동일한 익숙한 도구나 기술을 사용하는 경향
시사점
1. 부풀려진 코드
- 적절성을 고려하지 않아서 코드베이스가 비대해지고 유지 관리가 어려워질 수 있다.
2. 유연성 감소
- 좁은 범위로 도구나 기술을 한정해서 변화하는 요구 사항에 적절히 대응하지 못한다.
3. 성능 문제
- 업무에 잘못된 도구를 사용하면 느린 응답시간, 높은 리소스 소비 등의 낭비를 할 가능성이 있다.
- 이는 곳 성능과 직결된다.
4. 유지 관리 과제
- 시간이 지남에 따라 유지 관리 및 확장이 어려워질 수도 있다.
방지책
1. 다양성 수용
- 모든 문제에 대해서 단일 도구나 기술에 의존하는 대신 개발 스택에 다양성을 수용하자
2. 최신 정보 유지
- 컨퍼런스, 블로그 등으로 읽고 계속해서 새로운 기술을 익히고 학습하자
3. 리팩토링 및 단순화
- 코드 베이스를 정기적으로 검토하여 골든 해머를 방지하자