Code Refactoring 개념 정리

less than 1 minute read

Refactoring이란?

  • 외부 동작을 바꾸지 않으면서 코드의 가독성과 유지보수성을 높이기 위해 내부 구조를 개선하는 작업
  • 코드가 작성된 후에 디자인을 개선하는 작업이다.

하는 이유

  • 소프트웨어의 디자인을 개선시킨다.
  • 소프트웨어를 더 이해하기 쉽게 만든다.
  • 버그를 빨리 찾도록 도와준다.
  • 프로그램을 빨리 작성하도록 도와준다.

클린코드와 리팩토링의 차이?

  • 리팩토링이 더 넓은 의미

Refactoring의 원리

Two Hats

Refactoring을 해야할 때 / 하지말아야할 때

해야할 때

  • 어떤 작업을 하는데 계속 시간이 부족한 듯 느껴질 때
  • 삼진규칙
  • 기능을 추가할 때
  • 버그를 수정할 때
  • 코드리뷰를 할 때

하지말아야할 때

  • 현재 코드가 작동하지 않을때 -> refactoring이 아닌 rewriting이 필요하다
  • 마감일에 가까운 경우

Reference

  • https://nesoy.github.io/articles/2018-05/Refactoring
  • https://devuna.tistory.com/26
  • https://ikkison.tistory.com/82

Comments