경계
패키지, 오픈 소스 등의 외부 코드를 우리 코드에 깔끔하게 통합시키기 위한 기교를 알아보자.
외부 코드 사용하기
만약 외부에서 가져온 인터페이스를 우리 코드 여기저기에서 각자의 인스턴스를 만들어 사용한다면, 해당 인터페이스가 변할 경우 수정할 코드가 상당히 많아진다.
=> 경계 인터페이스를 여기저기 넘기지 않고 이를 캡슐화한 클래스를 만들어 이용하면 이를 예방할 수 있다.
경계 살피고 익히기
외부 패키지를 사용할 땐 테스트 코드를 사용하는 게 바람직하다.
학습 테스트 : 간단한 테스트 케이스를 통해 외부 코드를 익히는 기법
학습 테스트는 패키지가 예상대로 도는지 검증하며, 우리가 패키지를 익히게 해주고, 새 버전이 나올 때마다 우리 코드와 호환되는지를 검사한다.
경계 테스트가 없으면 버전 마이그레이션이 어렵다.
아직 존재하지 않는 코드를 사용하기
아는 코드와 모르는 코드의 경계도 있다. 모종의 사정으로 이쪽과 분리되어 내부를 알 수 없는 코드를 활용하거나, 아직 만들어지지 않은 코드를 활용해야 할 때도 있다.
=> 우리가 바라는 설계를 바탕으로 자체적으로 인터페이스를 정의하고, 비즈니스 로직을 이를 바탕으로 구현하면 존재하지 않는 코드를 통제할 수 있다.
또한, 저쪽 팀이 코드를 완성한 후에는 Adapter 패턴을 통해 실제 코드를 인터페이스에 맞추는 로직을 한곳으로 모으면, 깔끔하게 코드를 이식할 수 있다.
- 이 경우, 적절한 Fake 클래스를 사용할 수 있어 테스트도 편하다.
'독서일지 > 클린 코드' 카테고리의 다른 글
클린 코드 독서일지 - Day 17 (1) | 2023.11.11 |
---|---|
클린 코드 독서일지 - Day 16 (0) | 2023.11.11 |
클린 코드 독서일지 - Day 14 (0) | 2023.11.08 |
클린 코드 독서일지 - Day 13 (0) | 2023.11.07 |
클린 코드 독서일지 - Day 12 (0) | 2023.11.07 |