리팩토링

less than 1 minute read

오브젝트 카테고리가 맞나?

  • 리팩토링해도 외부에서 보는 프롤그램 동작은 변하지 않는다.
  • 리팩토링하면 프로그램의 내부 구조가 개선된다.

  • 리팩토링 에센스
    • 스텝 바이 스텝(한번에 하나씩)
      • 두가지 수정을 한꺼번에 하지 않기
      • 되돌리기 쉽게 하기
      • 단계마다 확인
      • 오래된걸 새로운걸로 바꿈(기존을 두고 새로운걸 짜서 갈아치기)
  • 설명용 변수 도입 => 내가 많이 하는거
  • 가드절로 중첩 조건문 치환
    • if (x<0) return false;
  • break, continue, return을 플래그대신 사용하면 가독성이 좋아진다.
    • 이후에 오는 코드를 읽지않아도 되는 경우가 많기 때문
  • instanceof의많은사용도 악취를 풍긴다

  • 다운캐스트 캡슐화
    Book getBook(String name) {  
      return (Book)_map.get(name);  
    }