중복 코드(Duplicated Code)

박상훈·2022년 8월 18일
0
비슷한지 동일한지 주의 깊게 봐야함, 코드의 변경은 동일한 모든 곳의 변경을 필요

함수 추출하기(Extract Function)

  • 의도 와 구현 분리
  • 코드가 무슨 일을 하는지 알기 위해 노력해야 한다면 코드를 함수로 분리하고 함수 이름으로 표현할 수 있다
  • 한줄 짜리 메소드도 의도가 분명하다면 괜찮다
  • 거대한 함수안에 주석은 추출한 함수를 찾는데 좋은 단서가 된다

코드 정리하기(Slide Statements)

  • 관련있는 코드끼리 묶어 이해를 쉽게 한다
  • 함수에서 사용할 변수 상단에 미리 정의 하지 말고 사용하는 코드 바로 위에 선언
  • 관련있는 코드끼리 묶은 후 함수 추출(Extract Function) 더 깔끔하게 분리 가능

메소드 올리기(Pull Up Method)

  • 중복 코드는 당장은 잘 동작하더라도 미래에 버그를 만들어 낼 빌미를 제공
  • 여러 하위 클래스에 동일한 코드가 있는 경우 이 방법을 적용
  • 비슷하지만 일부 값만 다른 경우 함수 매개변수화 적용 후 이 방법을 사용
  • 하위 클래스에 있는 코드가 상위 클래스가 아닌 하위 클래스 기능에 의존하는 경우 필드 올리기 적용 후 이 방법 사용
  • 두 메서드가 비슷한 절차를 따르는 경우 템플릿 메서드 패턴 적용 고려
profile
엔지니어

0개의 댓글