-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Clean code
Chapter 8 Boundaries
*Boundary: 써드파티 라이브러리 등 외부로부터 도입된 코드
외부 코드 도입하기
- 외부 코드를 앱 전반에 걸쳐 직접 사용하지 말 것
- 라이브러리 버전을 업데이트 해야 하는 등 변경 사항이 있을 때 더 많은 공수가 소요되고, 결과적으로 유지보수가 어려워진다.
- Wrapper 클래스를 사용해서 외부 코드를 한 번 감싸서 사용해라.
외부 코드 학습하기
- 외부 코드가 원하는 대로 동작하는지 확인할 수 있도록 유닛 테스트를 작성해라.
- 해당 외부 코드를 어떻게 사용해야 하는지 내부 코드와 분리하여 배울 수 있다.
- 버전 업데이트 등으로 인해 외부 코드의 구현이 변경될 때, 해당 외부 코드가 여전히 작동하는지 확인할 수 있다.
아직 구현되지 않은 외부 코드로 작업하기
- 해당 외부 코드가 작동하길 원하는 방식으로 직접 API를 구현해 놓아라.
- 외부 코드에 대한 의존성을 낮추고, 프로젝트에 꼭 들어맞는(specific) 방식으로 외부 코드를 사용할 수 있게 된다.
- 이때, Adapter 패턴이 캡슐화와 유지보수에 도움이 될 수 있다.
결론
- 외부 코드는 직접 변경/관리할 수 없기 때문에 사용 시 특히 주의해야 한다.
- 외부 코드는 내부 코드와 확실히 분리되어야 하며, 유닛테스트를 작성해야 한다.
- 내부 코드는 특정 외부 코드의 구현에 의존해선 안된다. 외부 코드의 구현은 언제든 바뀔 수 있다.
Reactions are currently unavailable