성의없는 요소(Lazy Element)

박상훈·2022년 8월 18일
여러 프로그래밍적인 요소를 만드는 경우
나중에 발생할 변화를 대비, 해당 함수 또는 클래스 재사용, 의미있는 이름 지어주기
예상하고 만든 요소들이 기대에 부응하지 못하는 경우 제거

계층 합치기(Collapse Hierarchy)

  • 상속 구조 리팩토링 중 상/하위 클래스에 차이가 없는 경우 둘을 합칠 수 있다
  • 이름이 적절한 클래스에 적용해야 하지만 애매하면 어느쪽도 상관 없음
  • intellij 기능: push members down, pull members up 사용

before

class CourtReservation {
    private String courtNumber;
}

class Reservation {
    private LocalDateTime startDateTime;
  
    private LocalDateTime endDateTime;
  
    private List<String> members;
  
    private String owner;
  
    private boolean paid;
}

after

// CourtReservation class 삭제

class Reservation {
    private LocalDateTime startDateTime;
  
    private LocalDateTime endDateTime;
  
    private List<String> members;
  
    private String owner;
  
    private boolean paid;
  
    private String courtNumber;
}
profile
엔지니어

0개의 댓글