클린코드 8 - 경계

yesjm·2024년 4월 23일
0

클린코드를 읽자

목록 보기
8/13

시스템에 들어가는 모든 소프트웨어를 직접 개발하는 경우는 드물다
외부 코드를 우리 코드에 깔끔하게 통합해야 한다.

외부 코드 사용하기

  • Map(혹은 유사한 경계 인터페이스를)을 이용하는 클래스나 클래스 계열 밖으로 노출하지 않도록 주의

경계 살피고 익히기

  • 외부 패키지 테스트가 우리 책임은 아니지만 우리가 사용할 코드를 테스트하는 편이 바람직하다.
  • 학습 테스트 : 우리쪽 코드를 작성해 외부 코드를 호출하는 대신 먼저 간단한 테스트 케이스를 작성해 외부 코드를 익히는 것
    (프로그램에서 사용하려는 방식대로 외부 API를 호출)

학습 테스트는 공짜 이상이다

  • 학습 테스트는 이해도를 높여주는 정확한 실험이다.
  • 투자하는 노력보다 얻는 성과가 더 크다.
  • 패키지가 예상대로 도는지 검증한다.
  • 패키지의 새 버전이 우리 코드와 호환되지 않으면 학습 테스트가 이 사실을 곧바로 밝혀낸다.

깨끗한 경계

  • 경계에 위치하는 코드는 깔끔히 분리한다.
  • 기대치를 정의하는 테스트 케이스도 작성한다.
  • 외부 패키지를 호출하는 코드를 가능한 줄여 경계를 관리하자.
  • 새로운 클래스로 경계를 감싸거나, Adapter 패턴을 사용해 우리가 원하는 인터페이스를 패키지가 제공하는 인터페이스로 변환하자.
profile
yesjm's second brain

0개의 댓글