Code Clones

  • 유사한 코드 블록이 반복되는 안티 패턴이다.
  • 자바에서 코드 중복은 객체 지향적 특성과 중복 클래스 및 메소드를 생성할 수 있는 가능성으로 문제가 된다.

결과

  1. 유지 보수에서 문제
  2. 가독성 저하
  3. 버그 위험 증가
  4. 확장성 저하
  5. 냄새나는 코드

중복 식별

  • 코드 리뷰
  • 코드 분석 도구
  • 버전 관리 시스템: git grep, git diff 등을 사용

전략

  • 중복 코드 적출
  • 재사용 가능한 컴포넌트 만들기
  • 상속 및 다형성
  • 디자인 패턴 사용
  • 리팩토링

Q. 왜 안티 패턴인가?

DRY(Do Not Repeat Yourself)를 위반하기 떄문이다.