[REFACTORING: Java] 0장 리팩토링이란?

dev·2023년 1월 18일
0

리팩토링-자바

목록 보기
1/1

자바로 배우는 리팩토링

리팩토링이란

외부에서 보는 프로그램 동작은 바뀌지 않고 프로그램의 내부 구조를 개선하는것

  • 버그 수정은 리팩토링일까? : NO
  • 기능 추가는 리팩토링일까? : NO
  • 소스 코드 정리는 리팩토링일까? : 반드시 그런 건 아님

리팩토링과 유닛 테스트

  • 리팩토링 전후 동작이 변하지 않는 걸 확인하려고 테스트 해야함
  • 테스트 방법 중 유닛 테스트가 있음

리팩토링의 목적

버그를 발견하기 쉽게 만든다
기능을 추가하기 쉽게 만든다
리뷰하기 쉽게 만든다

리팩토링의 한계

  • 프로그램이 아직 동작하지 않을 때 리팩토링은 불가능하다
  • 시간이 너무 촉박할 때

리팩토링과 악취

악취

: 리팩토링이 필요한 부분을 '악취'가 난다고 표현한다.

🚫 이해하기 어렵고,
🚫 수정하기 어렵고,
🚫 확장하기 어려운 부분 등
ex) 중복 코드, 너무 긴 메서드, 방대한 클래스, 과다한 매개변수, ... 등

리팩토링 카탈로그

  • 리팩토링의 목적과 절차를 카탈로그 형식으로 정리한 것

리팩토링 에센스

  • 스텝 바이 스탭(한 번에 하나씩)으로 진행할것
  • 두가지 수정을 한꺼번에 하지 않을것
  • 되돌리기 쉽게 하기
  • 단계마다 확인
  • 오래된 걸 새로운 걸로 바꿈
profile
hello world!

0개의 댓글