profile image

L o a d i n g . . .

리팩터링 정의

리팩터링

: 소프트웨어의 겉보기 동작은 그대로 유지한 채,
코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법

두 개의 모자

  • 리팩터링
  • 기능 추가
    이 두 가지를 한꺼번에 고려하며 작업하지 말고, 각각 리팩터링 모자를 썼을 때와 그렇지 않을 떄를 구분해서 작업하자.

리팩터링의 이유

리팩터링을 하는 이유: 경제적인 이유(프로그래밍 속도)
도덕적인 이유(그냥 해야하는 것 같아서)가 아님.

리팩터링 언제??

3의 법칙

  1. 일단 개발한다.
  2. 같은 일을 두번하게 되면.. 일단 한다.
  3. 또 같은 일을 하면, 리팩터링 하자!

준비를 위한 리팩터링

기능 추가하기 전에, 리팩터링 하면 더 쉽게 추가할 수 있음.

이해를 위한 리팩터링

코드 파악에 리팩터링이 효과적일 수 있음.

쓰레기 줍기

비효율적인 코드 발견 시, 리팩터링

수시로 하는 리팩터링

따로 각잡고 하지 않고, 자연스럽게 개발 과정에서 하기

코드 리뷰에 리팩터링 활용

코드 리뷰를 할 떄, 실제로 리팩터링을 해보기

+ 리팩터링 하지 말아야 할 때

지저분해도 굳이 수정할 필요가 없다면
차라리 새로 작성하는 것이 쉬울 때

참고

리팩터링 2판

복사했습니다!