클린 코드 - 8장 경계
CleanCode ·클린 코드 8장 경계를 정리합니다!
소프트웨어 경계를 깔끔하게 처리하는 기법
- 외부 코드 사용하기
- Map과 같은 경계 인터페이스를 이용할 때는 이를 사용하는
클래스나 클래스 계열 밖으로 노출되지 않도록 주의 - 경계 인터페이스의 인스턴스를 공개 API의 인수로 넘기거나 반환값으로 사용하지 마라.
- Map과 같은 경계 인터페이스를 이용할 때는 이를 사용하는
- 경계 살피고 익히기
- 외부 패키지 테스트는 우리 책임이 아니지만, 우릴 위해 사용할 코드를 테스트해라.
- 학습 테스트를 해라.
- 프로그램에서 사용하려는 방식대로 외부 API를 호출
- API를 사용하려는 목적에 초점
- 학습 테스트는 공짜 이상이다.
- 비용이 없고, 필요한 지식만 확보하는 손쉬운 방법
- 이해도를 높여주는 정확한 실험
- 투자하는 노력보다 얻는 성과가 더 크다.
- 패키지 새 버전이 나온다면 호환되는지 곧바로 확인 가능
- 아직 존재하지 않는 코드를 사용하기
- 우리가 바라는 인터페이스를 구현하여 사용
- 우리가 인터페이스를 전적으로 통제 가능
- 코드 가독성도 높아지고 코드 의도도 분명해짐
- 우리가 바라는 인터페이스를 구현하여 사용
- 깨끗한 경계
- 설계가 우수하다면 변경하는데 많은 투자와 재작업이 필요 없음
- 통제가 불가능한 외부 패키지에 의존하는 대신 통제가 가능한 우리 코드에 의존해라
- 외부 패키지를 호출하는 코드를 가능한 줄여 경계를 관리해라
- 새로운 클래스로 경계를 감싸거나 어댑터 패턴을 사용해라