til-6 refactoring chapter2

  • chapter2: 리팩터링 원칙
  • 리팩토링

    • 겉보디 동작은 유지한 채 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법
  • 리팩토링 하는 이유

    • 코드설계가 좋아진다

      a. 중복코드를 제거하여 모든 코드가 고유한 일을 수행하게 보장

    • 소프트웨어 이해가 쉬어진다

      a. 컴퓨터에게 시키려는 일과 이를 표현한 코드의 차이를 최대한 줄여야함

    • 버그를 쉽게 찾을 수 있다

      a. 리팩토링 과정을 통해 코드가 하는일을 깊이있게 파악하며 새로 깨닫은걸 코드에 반영한다

      b. 뛰어난 프로그래머보다 단지 좋은 습관을 지닌 괜찮은 프로그래머

    • 프로그래밍 속도를 높일 수 있다

      a. 기능이 누적될 수록 걸리는 시간이 배로 증가하지 않는다

  • 언제 리팩토링을 할까?

    1. 처음에는 그냥한다
    2. 비슷한 일을 두번째로하면 일단 계속 진행한다
    3. 비슷한 일을 세번째 하게되면 리팩토링 한다
    • 준비를 위한 리팩토링: 기능을 쉽게 추가한다

    • 이해를 위한 리팩토링: 코드를 이해하기 쉽게 만든다

    • 쓰레기 줍는 리팩토링

    • 계획된 리팩토링과 수시로 하는 리팩토링

      a. 무언가 수정하려 할때는 먼저 수정하기 쉽게 정돈하고 그런 다음 쉽게 정돊자

      b. 보기 싫은 코드를 발견하면 리팩토링하자. 잘 작성된 코드 역시 수많은 리팩토링을 거쳐야한다

  • 리팩터링 시 고려할 문제

    1. 새 기능 개발 속도 저하
    2. 코드소유권
    3. 브랜치
    4. 테스팅
    5. 레거시 코드
  • 테스트 주도 개발 : 자가 테스트 코드와 리팩터링을 묶음

댓글을 작성해보세요.

채널톡 아이콘