소프트웨어 공학에서 '결과의 변경 없이 코드의 구조를 재조정함'을 뜻한다
사용자가 보는 외부 화면은 그대로 두면서, 내부 논리나 구조를 개선하는 유지보수 행위
소프트웨어의 설계, 구조/구현의 개선 + 소프트웨어의 기능을 보존
가독성 ↑, 복잡성 ↓ 은 코드의 이해도를 높여, 개발자가 유지보수를 편하게 하도록 만든다
성능 ↑
개발 속도 ↑
삼진 규칙 : 3번의 중복/같은 행위를 한다면, 리팩토링을 진행
기능 추가할 때
버그 수정할 떄
코드 검토할 때 (Code Review)
소규모 변경 후
동작 여부를 테스트
작동할 경우, 다음단계
그렇지 않을경우, undo 후 리팩토링
CleanCode
단순히 가독성을 높이기 위한 작업으로 이루어져 있다.
설계부터 잘 이루어져 있는 것이 중요
Code Reafctoring
클린 코드를 포함한 유지보수를 위한 코드 개선이 이루어진다. (즉, 리팩토링이 더 넓은 의미)
결과물이 나온 이후 수정이나 추가 작업이 진행될 때 개선해나가는 것이 올바른 방향
참고: Code-Refactoring(코드 리펙토링) 이란??
참고: [Refactoring] 리팩토링(Refactoring)이란? (리팩토링 효과 / 해야 하는 이유)