코드를 더럽게 만드는 요소들을 알려주고 어떻게 해결할지 알려주는 내용
클래스 레벨에서 깔끔하게 분리 및 구성하는 방법
단위 테스트의 필요성과 제대로 된 단위테스트 작성법에 대한 내용
소프트웨어간의 경계를 처리하는 방법(우리 코드에 외부 api나 라이브러리 통합하는 방법)
오류 처리 때문에 코드 파악이 힘들어지지 않도록 우아하게 처리하는 방법 설명
객체나 자료 구조로의 추상화 방법과 이점 대한 설명