코드 리팩토링
JeongSeulho
2023년 05월 08일
준비중...
클립보드로 복사
📌리팩토링이란
- 어떤 코드의 동작이 바뀌지 않도록 다시 작성하는 것
- 다시 작성하면서 중복코드를 삭제하거나, 복잡한 로직을 단순화 하는 등의 개선을 거침
📖리팩토링 목록
collapse hierarchy
- 두개의 클래스 혹은 모듈의 의존성이 굉장히 높으면 하나로 merge한다
consolidate conditional express
- 같은 결과를 return하는 조건들을 합친다
decompose conditionals
- 복잡한 계산식이나 조건식을 함수로 분리한다
extract class, method
- 클래스나 함수가 여러가지 일을 하면 분리한다
📖리팩토링 리스크
- 문서의 유지보수 필요
- 테스트 케이스의 유지보수 필요
📖when not to refactor
- 코드가 오류가 있을 때,
- deadline이 가까울 때,
📌코드 스멜
- 코드 스멜이 있을 때, 리팩토링을 고려해야 한다
📌그 밖의 코드품질 개선 방법
- 정적 분석 : 코드만 보며 개선(코드 리뷰 등)
- 동적 분석 : 실제 실행하며 개선(test, debug)