▶What?

소프트웨어를 이해하기 쉽고, 수정하기 쉽게 만든다.

기능적으로 소프트웨어의 변경이 없다.

 

 

▶Why?

리팩토링은 소프트웨어의 디자인을 개선시킨다.

  - 사람들이 코드를 수정함에 따라 코드는 원래 의도했던 구조를 벗어나기 쉽다. 코드를 보며 원래 의도했던 디자인을 파악하는 것은 점점 더 어려워진다. 리팩토링은 적절한 곳에 있지 않는 코드를 이동 및 제거하여 코드를 정리하는 것이다.

 

리팩토링은 소프트웨어를 더 이해하기 쉽게 만든다.

  - 기계를 위한 코드가 아니라 사람을 위한 코드를 작성한다.

  - 익숙하지 않은 코드를 이해하기 위해서 리팩토링을 하면 전에 보지 못했던 디자인에 관한 것을 볼 수 있게 되며, 더 높은 수준의 이해로 이끌어준다.

 

리팩토링은 버그를 찾도록 도와준다.

  - 코드를 잘 이해하게 되면 버그를 찾기 쉽다.

 

리팩토링은 프로그램을 빨리 작성하도록 도와준다.

  - 소프트웨어의 개발 속도를 어느 정도로 유지하기 위해서는 좋은 디자인이 필수다. 리팩토링은 시스템의 디자인이 나빠지는 것을 멈추게 하여, 소프트웨어를 보다 빨리 개발 할 수 있도록 도와준다.

 

 

▶When?

기능을 추가할 때 리팩토링을 하라.

  - 추가하기 전에 수정해야 할 코드에 대한 이해를 돕는다. 한번 리팩토링을 하면, 기능을 추가하는 것은 훨씬 더 빠르고, 매끄럽다.

버그를 수정할 때 리팩토링을 하라.

  - 더 깊은 이해를 위해 리팩토링 한다.

 

  - 별도의 시간을 내서 하는 것이 아니라 '틈틈이 계속적으로' 해야하는 것.

  - 리팩토링은 목적이 아니라 수단이다.

 


WRITTEN BY
KeithHong
개인 기록 공간입니다. 잘못된 정보에 대한 수정 및 조언은 항상 감사합니다 ( _ _ )

,