- 오픈소스 라이브러리를 사용해야 할 경우
-
외부코드 사용하기
- 외부 코드를 사용할경우 반환하는 Object를 올바른 유형으로 반환할 책임은 사용하는 클라이언트에 있다.
- 랩퍼 클래스로 한번 숨기면 그 안에서 객체 유형을 관리하기 때문에 나머지 프로그램에는 영향을 미치지 않는다.
- 그리고 이 랩퍼 클래스는 사용자에게 필요한 인터페이스만 제공하므로 이해하기 쉽고
- 오용하기는 어렵다.
- 또한 이 랩퍼 클래스는 설계규칙과 비즈니스 규칙을 따르도록 강제할수 있다.
-
경계 살피고 익히기
- 간단한 테스트 케이스를 작성해 외부 코드를 익히는 방법
- 이를 학습 테스트 라고 한다.
- 학습테스트는 프로그램에서 사용하려는 방식대로 외부 API를 호출한다.
- 학습테스트는 API를 사용하려는 목적에 초점을 맞춘다.
-
log4j 익히기
- 2번의 방식대로 log4j로 로그 찍는법을 익혀보자.
-
학습 테스트는 꽁짜 이상이다.
- 어차피 api를 배워야 하기 때문에 학습테스트에 드는 비용은 없다.
- 나중에 새버전나왓을때 호환이 되는지 확인하기도 좋다.
-
아직 존재하지 않는 코드를 사용하기
-
인터페이스를 만들어 어댑터 패턴을 이용해 api 사용을 캡슐화해 api가 바뀔 때 수정할 코드를 한곳으로 모았다.
-
이와 같은 설계는 테스트도 아주 편하다.
-
( 뭔소린지 모르겠다 다시 읽어봐야 할듯 )
- 깨끗한 경계
- 경계에 위치하는 코드는 깔끔히 분리한다.
- 외부 패키지를 호출하는 코드를 가능한 줄여 경계를 관리하자
- 아니면 새로운 랩퍼 클래스를 만들던지 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 |