728x90
1. 리팩토링이란
1) 정의
- 외부에서 보는 프로그램 동작은 바뀌지 않고 프로그램의 내부 구조를 개선하는것
2) 퀴즈
버그 수정은 리팩토링 ? 👉 아니다
기능 추가는 리팩토링 ? 👉 아니다
소스 코드 정리는 리팩토링 ? 👉 반드시 그런 건 아님
3) 리팩토링과 유닛 테스트
- 리팩토링 전후 동작이 변하지 않는 걸 확인하려고 테스트 해야함
- 테스트 방법 중 유닛 테스트가 있음
4) 리팩토링의 목적
버그를 발견하기 쉽게 만든다
기능을 추가하기 쉽게 만든다
리뷰하기 쉽게 만든다
5) 리팩토링의 한계
- 프로그램이 아직 동작하지 않을 때 리팩토링은 불가능하다
- 시간이 너무 촉박할 때
2. 리팩토링과 악취
1) 악취
: 리팩토링이 필요한 부분을 '악취'가 난다고 표현한다.
👉 이해하기, 수정하기, 확장하기 어려운 부분 등
ex) 중복 코드, 너무 긴 메서드, 방대한 클래스, 과다한 매개변수, ... 등
3. 리팩토링 카탈로그
- 리팩토링의 목적과 절차를 카탈로그 형식으로 정리한 것
Refactoring Home Page
Introduction to the technique of refactoring and online catalog of refactorings
refactoring.com
4. 리팩토링 에센스
👉 스텝 바이 스탭(한 번에 하나씩)
- 두가지 수정을 한꺼번에 하지 않기
- 되돌리기 쉽게 하기
- 단계마다 확인
- 오래된 걸 새로운 걸로 바꿈
728x90
'Major > Java' 카테고리의 다른 글
[자바로 배우는 리팩토링 입문] 2장 제어 플래그 삭제 (0) | 2022.04.13 |
---|---|
[자바로 배우는 리팩토링 입문] 1장 매직 넘버를 기호 상수로 치환 (0) | 2022.04.13 |
[Power Java Compact] 7장 연습문제 (0) | 2022.01.05 |
[Power Java Compact] 6장 연습문제 (0) | 2021.12.29 |
[Power Java Compact] 5장 연습문제 (0) | 2021.12.22 |