til-6 refactoring chapter2
2021.07.03
- chapter2: 리팩터링 원칙
-
리팩토링
- 겉보디 동작은 유지한 채 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법
-
리팩토링 하는 이유
-
코드설계가 좋아진다
a. 중복코드를 제거하여 모든 코드가 고유한 일을 수행하게 보장
-
소프트웨어 이해가 쉬어진다
a. 컴퓨터에게 시키려는 일과 이를 표현한 코드의 차이를 최대한 줄여야함
-
버그를 쉽게 찾을 수 있다
a. 리팩토링 과정을 통해 코드가 하는일을 깊이있게 파악하며 새로 깨닫은걸 코드에 반영한다
b. 뛰어난 프로그래머보다 단지 좋은 습관을 지닌 괜찮은 프로그래머
-
프로그래밍 속도를 높일 수 있다
a. 기능이 누적될 수록 걸리는 시간이 배로 증가하지 않는다
-
-
언제 리팩토링을 할까?
- 처음에는 그냥한다
- 비슷한 일을 두번째로하면 일단 계속 진행한다
- 비슷한 일을 세번째 하게되면 리팩토링 한다
-
준비를 위한 리팩토링: 기능을 쉽게 추가한다
-
이해를 위한 리팩토링: 코드를 이해하기 쉽게 만든다
-
쓰레기 줍는 리팩토링
-
계획된 리팩토링과 수시로 하는 리팩토링
a. 무언가 수정하려 할때는 먼저 수정하기 쉽게 정돈하고 그런 다음 쉽게 정돊자
b. 보기 싫은 코드를 발견하면 리팩토링하자. 잘 작성된 코드 역시 수많은 리팩토링을 거쳐야한다
-
리팩터링 시 고려할 문제
- 새 기능 개발 속도 저하
- 코드소유권
- 브랜치
- 테스팅
- 레거시 코드
-
테스트 주도 개발 : 자가 테스트 코드와 리팩터링을 묶음
댓글을 작성해보세요.