[Refactoring] 리팩토링이란?

📌 리팩토링(Refactoring)이란?

리팩토링은 겉으로 드러나는 코드의 기능(겉보기 동작)은 바꾸지 않으면서 내부 구조를 개선하는 방식으로 소프트웨어 시스템을 수정하는 과정이다.
버그가 생길 가능성을 최소로 줄이면서 코드를 정리하는 정제된 방법이다.

즉, 리팩토링한다는 것은 코드를 작성하고 난 뒤에 설계를 개선하는 것이다!

📌 왜 하는 걸까?

처음부터 좋은 설계를 가지고 개발을 한다면 좋겠지만 시간이 흐르면서 코드는 계속 수정되고 설계에 맞춘 구조는 점차 뒤죽박죽이 되어간다.

그래서 처음부터 완벽한 설계를 갖추기보다는 개발을 진행하면서 지속적으로 설계한다. 시스템을 구축하는 과정에서 더 나은 설계가 무엇인지도 배울 수 있게 된다.
그 결과, 개발의 시작부터 끝날 때까지 프로그램은 줄곧 우수한 설계를 유지할 수 있다.

📌 언제 하는 걸까?

  • 3의 법칙
    3번 중복되면 리팩토링

  • 기능 추가시
    더러운 코드를 처리해야하는 경우 먼저 리팩토링
    새로운 기능을 더 쉽게 추가 가능

  • 버그 수정시
    코드를 정리하면 오류 발견 가능

  • 코드 리뷰 중
    런칭하기 전 코드를 정리할 수 있는 마지막 기회
    짝을 이루어 진행시 더 빠르고 간단하게 리팩토링 가능

📌 리팩토링의 위험

  • 버그 발생
    동작하는 코드 수정 과정에서 버그가 생길 수 있음
잘못 수행하면 오히려 며칠 혹은 몇 주간의 노력이 수포로 돌아갈 수도...😂
  • 계획적이고 체계적이여야 함
    즉흥적으로 실시하는 리팩토링은 더욱 위험
    각 기법의 절차를 이해하고 한번에 한 단계씩 차근차근 수행해야 함

📑 참고 자료

좋은 웹페이지 즐겨찾기