Boat Anchor

  • 더 이상 필요하지 않거나 사용되지 않지만 계속 존재하여 시스템에 부담을 주는 코드 또는 기능
  • 비효율성, 복잡성 증가, 유지 관리의 골칫거리가 될 수 있다.
  • 사용되지 않거나 쓸모없는 코드 또는 무의미한 코드를 프로젝트에 남겨두는 안티 패턴입니다.

원인

  1. 사용하지 않는 코드
  2. 오래된 종속성 : 프레임워크 발전에 따라 종속성이 더 이상 사용되지 않는 경우
  3. 잘못된 커뮤니케이션 : 잘못된 이해로 기능을 구현했을 경우
  4. 요구 사항의 진화 : 시간이 지남에 따라 요구 사항이 변경돼서 기능, 특징이 중복되거나 쓸모없어진 경우

영향

  • 복잡성 증가
  • 성능 저하
  • 버그 위험 : 예기치 않은 동작을 유발할 수 있는 오래되거나 잘못된 로직을 포함할 수 있다.
  • 테스트의 어려움

회피 및 리팩토링

  • 코드리뷰
  • 정적 코드 분석
  • 자동화된 테스트
  • 지속적 리팩토링
  • 커뮤니케이션
  • 문서화