• 오픈소스 라이브러리를 사용해야 할 경우
  1. 외부코드 사용하기

    • 외부 코드를 사용할경우 반환하는 Object를 올바른 유형으로 반환할 책임은 사용하는 클라이언트에 있다.
    • 랩퍼 클래스로 한번 숨기면 그 안에서 객체 유형을 관리하기 때문에 나머지 프로그램에는 영향을 미치지 않는다.
    • 그리고 이 랩퍼 클래스는 사용자에게 필요한 인터페이스만 제공하므로 이해하기 쉽고
    • 오용하기는 어렵다.
    • 또한 이 랩퍼 클래스는 설계규칙과 비즈니스 규칙을 따르도록 강제할수 있다.
  2. 경계 살피고 익히기

    • 간단한 테스트 케이스를 작성해 외부 코드를 익히는 방법
    • 이를 학습 테스트 라고 한다.
    • 학습테스트는 프로그램에서 사용하려는 방식대로 외부 API를 호출한다.
    • 학습테스트는 API를 사용하려는 목적에 초점을 맞춘다.
  3. log4j 익히기

    • 2번의 방식대로 log4j로 로그 찍는법을 익혀보자.
  4. 학습 테스트는 꽁짜 이상이다.

    • 어차피 api를 배워야 하기 때문에 학습테스트에 드는 비용은 없다.
    • 나중에 새버전나왓을때 호환이 되는지 확인하기도 좋다.
  5. 아직 존재하지 않는 코드를 사용하기

  • 인터페이스를 만들어 어댑터 패턴을 이용해 api 사용을 캡슐화해 api가 바뀔 때 수정할 코드를 한곳으로 모았다.

  • 이와 같은 설계는 테스트도 아주 편하다.

  • ( 뭔소린지 모르겠다 다시 읽어봐야 할듯 )

  1. 깨끗한 경계
  • 경계에 위치하는 코드는 깔끔히 분리한다.
  • 외부 패키지를 호출하는 코드를 가능한 줄여 경계를 관리하자
  • 아니면 새로운 랩퍼 클래스를 만들던지 adapter 패턴을 사용해
  • 외부 패키지가 제공하는 인터페이스를 우리가 원하는 방식으로 바꾼다.

'book > 클린코드' 카테고리의 다른 글

10장 - 클래스  (0) 2020.12.22
9장 - 단위 테스트  (0) 2020.12.02
7장 - 오류처리  (0) 2020.11.27
6장 - 객체와 자료구조  (0) 2020.11.25
5장 - 형식 맞추기  (0) 2020.11.23

+ Recent posts