리팩토링이란?
새로운 소스코드를 만들어 내는 것이 아니다.
외부 동작은 변경하지 않고, 내부 구조를 변경하는 작업이다.
clean한 소스코드로 수정하는 방법이 리팩토링이다.
즉, 입력 및 출력, 실행은 변하지 않고, 내부 구조를 재구성하여 가독성을 높이거나 구조를 개선시키는 작업이다.
리팩토링 특징
- 버그 수정은 리팩토링 작업에 포함되지 않는다.
- 출력 결과에 변화가 없어야 한다.
- 개발자들마다 결과가 다를 수 있다.
리팩토링의 목적
- 코드 가독성을 더 높이자.
코드 가독성이란 소스코드를 논리적으로 이해하기 편한 정도를 나타냄
리팩토링 방법
- 한 단계의 들여쓰기를 한다.
이중 for문과 같이 들여쓰기를 여러번 할 경우 가독성이 떨어질 수 있다. 따라서 최대한 한 단계로만 들여쓰기를 할 수 있도록 static 함수로 빼서 들여쓰기를 없앤다.
- else를 없앤다.
return을 사용하여, 필요없는 else를 지운다.
- 하나의 역할을 하는 메서드로 만든다.
getSum은 하나씩 수로 바꾸어 sum을 구하는 메서드 > 수로 변경하는 메서드, sum을 구하는 메서드로 분리
- 임시변수 제거하기
의미 파악에 도움이 되지 않는 변수 제거
- 추상화 Level을 맞추어준다.
더 이해하기 쉽게 변경
- 전역변수 사용 금지
- 작은 수정마다 정상적으로 값이 나오는지 테스트한다.