IT/책

[Clean Code] 8장, 경계

Terriermon 2021. 11. 7. 03:11

Clean Code

8장, 경계

 

외부 코드를 우리 코드에 깔끔하게 통합하는 방법

 

 

1. 외부 코드 사용하기

 

- 인터페이스 제공자와 인터페이스 사용자 사이의 경계

> 인터페이스 제공자: 적용성을 최대한 넓힘

> 사용자: 요구에 집중하기를 원함

ex) java.util.Map: 제공하는 기능성과 유연성으로 인해 유용함 > 그러나 위험 ⬆
- Map을 사용하는 누구든 Map의 내용을 지울 수 있음

 

 

 

2. 경계 살피고 익히기

 

- 타사 라이브러리의 사용법이 분명하지 않을 때

> 문서를 읽어서 사용 ➡ 우리쪽 코드를 작성하여 라이브러리가 동작하는지 확인

 

- 학습 테스트: 간단한 테스트 케이스를 작성하여 외부 코드를 먼저 익히기

 

 

 

3. 아파치의 log4j

 

- 문서를 읽기전 테스트 케이스 작성

 

 

 

4. 학습 테스트

 

- 학습 테스트에 드는 비용이 없음 -> 필요 지식을 확보하기 좋음

 

- 학습 테스트로 패키지가 예상대로 도는지 검증

 

- 새 버전이 호환되지 않으면 학습 테스트에서 사실을 바로 알아낼 수 있음

 

- 패키지의 새 버전으로 이전하기 쉬워짐

 

 

 

5. 아직 존재하지 않는 코드 사용

 

- 모르는 코드와 분리

 

- 인터페이스를 구현하면 인터페이스를 전적으로 통제하는 장점이 생김

 

- 설계를 잘 하면 테스트도 편함

> 외부 인터페이스에 대해 (정의되지 않았더라도) 필요한 코드를 정의

 

 

 

6. 깨끗한 경계

 

- 소프트웨어 설계가 우수하면 변경에 많은 투자와 재작업이 필요하지 않음

 

- 경계에 위치하는 코드는 깔끔하게 분리

 

- 외부 패키지를 호출하는 코드를 가능하면 줄여서 경계를 관리함

 

- 새로운 클래스로 경계를 감싸거나 ADAPTER 패턴을 사용해 우리가 원하는 인터페이스로 변환

'IT > ' 카테고리의 다른 글

[Clean Code] 10장, 클래스  (0) 2021.11.07
[Clean Code] 9장, 단위 테스트  (0) 2021.11.07
[Clean Code] 7장, 오류 처리  (0) 2021.11.07
[Clean Code] 6장, 객체와 자료 구조  (0) 2021.11.05
[Clean Code] 5장, 형식 맞추기  (0) 2021.10.30