블라디미르 코리코프 님의 "단위 테스트" 책을 정리한 포스팅입니다.1. 리팩터링할 코드 식별하기코드 유형항목설명복잡도코드 내 의사 결정 지점 수로 정의도메인 유의성코드가 프로젝트의 도메인에 대해 얼마나 의미 있는가협력자 수코드가 의존하는 객체의 수- 가변 의존성외부 의존성이 얼마나 자주 바뀌는지- 외부 의존성외부 시스템에 대한 의존성 험블 객체 패턴을 사용해 지나치게 복잡한 코드 분할하기지나치게 복잡한 코드복잡도 및 도메인 유의성도 높고 협력자 수도 많은 코드테스트가 어렵고, 변경하기도 어려우며, 버그가 생기기 쉬움 예시) 프레임워크 의존성 (비동기)더보기@Servicepublic class NotificationService { @Async public void sendEmail(String..