✅ 리팩토링 정의
♻️리팩토링(refactoring)이란 외부에서 보는 프로그램 동작은 바꾸지 않고 프로그램의 내부 구조를 개선하는 것
- 리팩토링해도 외부에서 보는 프로그램 동작은 변하지 않는다.
- 리팩토링하면 프로그램의 내부 구조가 개선된다.
💡 리팩토링 퀴즈
1. 버그 수정은 리팩토링? (X)
2. 기능 추가는 리팩토링? (X)
3. 소스 코드 정리는 리팩토링? (△)
소스코드를 정리하다가 프로그램 동작에 변화가 생기면 리팩토링이 아니다.
리팩토링은 단순히 소스 코드를 정리하는 것이 아니다.
반드시 '외부에서 보는 프로그램 동작에 변화가 없음'을 확인해야 한다.
🌈 리팩토링과 유닛테스트
- 리팩토링 전에 테스트합니다.
- 리팩토링 합니다.
- 리팩토링 후에 다시 테스트 합니다.
자바에서는 JUnit을 많이 사용한다.
🌈 리팩토링의 목적
1. 버그를 발견하기 쉽게 만든다
2. 기능을 추가하기 쉽게 만든다
3. 리뷰하기 쉽게 만든다
🌈 리팩토링의 한계
리팩토링이 불가능할 때도 있다.
1.프로그램이 아직 동작하지 않을 때
2. 시간이 너무 촉박할 때
시간이 촉박할 때 리팩토링을 하는 것은 현명하지 않다.
납품 직전에 대규모로 리팩토링 하는 것도 피해야 한다.
출처
자바로 배우는 리팩토링 입문 - 길벗