Code Refactoring 개념 정리
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