2009.01.19 13:07

언제 리팩토링을 해야 하는가?

출처 : 리팩토링 ( 저자 : 마틴 파울러  / 윤성준 . 조재박 옮김)

---------------------------------------------------------------------------------------------------

언제 리팩토링을 해야 하는가 ? - 삼진규칙;

 여기서 Don Roberts가 내게 알려준 가이드라인이 있다. 어떤것을 처음 할 때는, 그냥한다.
두번째로 비슷한 어던 것을 하게 되면, 중복 때문에 주춤하지만 그냥 중복되도록 한다. 세번째로 비슷한 것을 하게 되면, 그때 리팩토링을 한다. [스트라이크 세개면 리팩토링을 한다.]

언제 리팩토링을 해야 하는가 ? - 기능을 추가할 때 리팩토링을 하라.

 리팩토링을 해야 하는 가장 일반적인 시점은 소프트웨어에 새로운 기능을 추가하고 싶을 때이다.이 시점에서 리팩토링을 해야 하는 첫 번째 이유는 종종 수정해야 할 코드에 대한 이 해를 돕기 위해서 이다. 수정하려는 코드는 다른 사람이 작성했을 수도 있고, 내 자신에게 물어본 후 리팩토링을 한다. 부분적으로는 나중에 내가 그 부분을 다시 볼 때를 위해서 하는 것이지만, 주된 이유는 코드를 명확하게 하면 더 많은 것을 이해할 수 있기 때문이다.
 여기서 리팩토링을 하도록 만드는 다른 이유는 기능 추가가 쉽지 않은 디자인디다. 디자인을 보고는 스스로에게 "만약 이런 식으로 디자인을 했더라면 기능 추가각 쉬웠을 텐데" 라고 말한다면, 이런 경우 나는 지난날의 잘못때문에 초조해 하지 않고, 리팩토링으로 그것을 고친다. 이렇게 하는 것은 수정을 쉽게 하기 위해서 이기도 하지만, 더 큰 이유는 이렇게 하는 것이 가장 빠르다는 것을 알기 때문이다. 리팩토링은 빠르지만 매끄러운 프로세스이다. 한번 리팩토링을 해놓으면, 기능을 추가하는 것은 훨씬 더 빠르고 매끄럽다.

---------------------------------------------------------------------------------------------------

TDD에선 테스트가 성공 후 거의 바로 리팩토링을 하더군요.. ;;  그러고 보면 딱히 언제 리팩토링을 해야 하는 규칙은 없는듯 하나.. 이러한 삼진 규칙을 세워놓고 하는것도.. 괜찮을 것 같습니다~;;
전 ;; 성질이 급해서 그런지 2번 이상 중복이 발생하면; 들쑤시는 편이라서 과도한게 아닌가 싶기도 하지만.. 나이가 들면 귀찮아서 세번까지 참아보는 여유가 생길지도.. 모르겠네욥~;;

코드는 내것이 아니고 해석하는게 아니라 읽을 수 있어야 된다는 수원이 형의 리뷰가 다시금 생각나네요~;;
Trackback 0 Comment 0