클린코드
경계
소프트웨어 경계를 깔끔하게 처리하는 방법
외부 코드 사용하기
Map과 같은 경계에 있는 코드를 외부로 노출하지 마라.
경계 살피고 익히기
곧바로 외부 코드를 우리코드에 넣어 작성하는 대신 외부코드의 테스트 코드를 작성하면 어떻까? 이것을 학습테스트라고 한다.
학습 테스트는 API를 사용하는 목적에 초점을 맞춘다.
학습테스트는 공짜이상이다.
학습 테스트는 공짜 이상이다. 투자하는 노력보다 얻어지는 성과가 더 크다.
패키지의 새버전이 나온다면 학습 테스트를 돌려 차이가 있는지 확인한다.
아직 존재하지 않는 코드를 사용하기
우리가 바라는 인터페이스를 구현해서 먼저 구현한후 실제 구현 클래스가 나오면 경계테스트 케이스를 생성해 잘 사용하는지를 테스트 할수 있다.
클린 경계
오부 패키지를 호출하는 코드를 가능한 줄여 경계를 관리하자
새로운 클래스로 경계 클래스를 감싸거나 어댑터 패턴을 사용해 우리가 원하는 인터페이스를 패키지가 제공하는 인터페이스로 변환하자.