Clean Code - 경계

종현·2024년 3월 27일

Clean Code

목록 보기
7/7

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

외부 코드 사용하기

경계 살피고 익히기

외부 코드를 사용하면 적은 시간에 더 많은 기능을 출시하기 쉬워진다.
외부 패키지 테스트는 우리 책임이 아니지만, 우리 자신을 위해 우리가 사용할 코드를 테스트하는 편이 바람직하다.
외부 코드를 익히거나 통합하기는 어렵다.
곧바로 우리쪽 코드를 작성해 외부 코드를 호출하는 대신 먼저 간단한 테스트 케이스를 작성해 외부 코드를 익히면 어떨까?
짐 뉴커크(Jim Newkirk)는 학습 테스트라 부르나.
학습 테스트는 프로그램에서 사용하려는 방식대로 외부 API를 호출한다.
통제된 환경에서 API를 제대로 이해하는지를 확인하는 셈. (API를 사용하려는 목적에 초점을 맞춘다.)

log4j 익히기

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

아직 존재하지 않는 코드를 사용하기

Adapter 패턴

깨끗한 경계

경계에 위치하는 코드는 깔끔히 분리한다.
또한 기대치를 정의하는 테스트 케이스도 작성한다.
통제가 불가능한 외부 패키지에 의존하는 대신 통제가 가능한 우리 코드에 의존하는 편이 훨씬 좋다.
자칫하면 오히려 외부 코드에 휘둘리고 만다.
외부 패키지를 호출하는 코드를 가능한 줄여 경계를 관리하자.
새로운 클래스로 경계를 감싸거나 아니면 Adapter 패턴을 사용해 우리가 원하는 인터페이스를 패키지가 제공하는 인터페이스로 변환하자.

  • 어느 방법이든 코드 가독성이 높아지며, 경계 인터페이스를 사용하는 일관성도 높아지며, 외부 패키지가 변했을 때 변경할 코드도 줄어든다.

0개의 댓글