2019.09.02
Chapter 2. 리팩토링 개론
리팩토링은 무엇인가
리팩토링은 왜 해야 하나
리팩토링은 어떨 때 필요한가
프로그램 수정이 어려울 때
인다이렉션
인다이렉션
리팩토링 관련 문제들
데이터베이스
비즈니스 애플리케이션이 데이터베이스 스키마와 강력히 결합되어 데이터베이스 수정이 어려워진다
데이터베이스 스키마 수정에 따른 데이터 이전은 오래걸리고 위험성도 높음
인터페이스 변경
인터페이스를 건드리지 않고 내부의 구현 코드를 수정할 수 있다
리팩토링 관련 문제들
리팩토링을 어렵게 하는 설계를 수정하는 일
설계가 바뀌어도 리팩토링으로 해결 가능
리팩토링하면 안 되는 상황
코드를 새로 작성해야 할 때
코드가 돌아가지 않을 때
납기가 임박했을 때
리팩토링과 설계
설계를 하면 생각이 아주 빨라지지만 그 생각엔 빈틈이 많다
- 앨리스테어 칵번
사전 설계에 적당한 솔루션 생각 후 리팩토링
리팩토링과 성능
빠른 소프트웨어를 작성할 수 있는 방법
리팩토링과 성능
프로그램을 잘 쪼개면 두 가지 측면에서 최적화에 도움이 된다
리팩토링과 성능
리팩토링이 소프트웨어 개발 기간을 단축하는 데 도움
리팩토링하는 동안에는 단기적으로 소프트웨어가 느려지지만, 최적화를 거치면서 튜닝하기가 훨씬 쉬워져서 결과적으로는 소프트웨어 개발이 더 빨라진다.