프로젝트를 개발하면서 재설계, 성능 개선 등 모두 리팩토링이란 명칭을 사용해왔는데,
유의적 버저닝
을 프로젝트에 적용하게 되면서 명확히 어떤 부분이 수정되어야 리팩토링으로 구분지어야 하는지
확인이 필요하여 개념을 잡고 가고 싶었다.
리팩토링
- 작성된 코드에서 코드의 가독성과 유지보수성을 높이기 위한 내부구조의 변경
- 사용자가 보는 외부화면은 그대로 유지하되, 지속적인 관리를 편하게 하기위한 코드의 재작성 (
기능 추가 X
)
- 요약하자면, 현재 코드의 동작은 동일하지만 이해하기 쉽고, 확장성있게 재구성 하는 코드
왜 필요한지
- 코드 설계에서의 질적 향상 → 중복 코드제거
- 프로젝트 가독성 향상을 위해 진행 → 협업관계 용이
- 코드를 이해하기 쉽게 한다 → 개발
속도 증가
언제 리팩토링을 진행하는지
- 같은 내용이 세번이상 작성되어있으면
상황을 고려
하여 리팩토링 결정 및 진행
- 현재 설계에서 새로운 기능 추가가 어려울경우 리팩토링 진행
Reference
(1) 리팩토링, Refactoring 이란?