▶What?
소프트웨어를 이해하기 쉽고, 수정하기 쉽게 만든다.
기능적으로 소프트웨어의 변경이 없다.
▶Why?
⇒리팩토링은 소프트웨어의 디자인을 개선시킨다.
- 사람들이 코드를 수정함에 따라 코드는 원래 의도했던 구조를 벗어나기 쉽다. 코드를 보며 원래 의도했던 디자인을 파악하는 것은 점점 더 어려워진다. 리팩토링은 적절한 곳에 있지 않는 코드를 이동 및 제거하여 코드를 정리하는 것이다.
⇒리팩토링은 소프트웨어를 더 이해하기 쉽게 만든다.
- 기계를 위한 코드가 아니라 사람을 위한 코드를 작성한다.
- 익숙하지 않은 코드를 이해하기 위해서 리팩토링을 하면 전에 보지 못했던 디자인에 관한 것을 볼 수 있게 되며, 더 높은 수준의 이해로 이끌어준다.
⇒리팩토링은 버그를 찾도록 도와준다.
- 코드를 잘 이해하게 되면 버그를 찾기 쉽다.
⇒리팩토링은 프로그램을 빨리 작성하도록 도와준다.
- 소프트웨어의 개발 속도를 어느 정도로 유지하기 위해서는 좋은 디자인이 필수다. 리팩토링은 시스템의 디자인이 나빠지는 것을 멈추게 하여, 소프트웨어를 보다 빨리 개발 할 수 있도록 도와준다.
▶When?
⇒기능을 추가할 때 리팩토링을 하라.
- 추가하기 전에 수정해야 할 코드에 대한 이해를 돕는다. 한번 리팩토링을 하면, 기능을 추가하는 것은 훨씬 더 빠르고, 매끄럽다.
⇒버그를 수정할 때 리팩토링을 하라.
- 더 깊은 이해를 위해 리팩토링 한다.
- 별도의 시간을 내서 하는 것이 아니라 '틈틈이 계속적으로' 해야하는 것.
- 리팩토링은 목적이 아니라 수단이다.
'프로그래밍 > 리팩토링' 카테고리의 다른 글
클래스 및 함수 설계 시 고려해야 할 것. (0) | 2020.02.23 |
---|
WRITTEN BY
- KeithHong
개인 기록 공간입니다. 잘못된 정보에 대한 수정 및 조언은 항상 감사합니다 ( _ _ )