독서일지/클린 코드

클린 코드 독서일지 - Day 15

Sadie Kim 2023. 11. 10. 01:17

경계

패키지, 오픈 소스 등의 외부 코드를 우리 코드에 깔끔하게 통합시키기 위한 기교를 알아보자.

외부 코드 사용하기

만약 외부에서 가져온 인터페이스를 우리 코드 여기저기에서 각자의 인스턴스를 만들어 사용한다면, 해당 인터페이스가 변할 경우 수정할 코드가 상당히 많아진다.
=> 경계 인터페이스를 여기저기 넘기지 않고 이를 캡슐화한 클래스를 만들어 이용하면 이를 예방할 수 있다.

경계 살피고 익히기

외부 패키지를 사용할 땐 테스트 코드를 사용하는 게 바람직하다.

학습 테스트 : 간단한 테스트 케이스를 통해 외부 코드를 익히는 기법

학습 테스트는 패키지가 예상대로 도는지 검증하며, 우리가 패키지를 익히게 해주고, 새 버전이 나올 때마다 우리 코드와 호환되는지를 검사한다.
경계 테스트가 없으면 버전 마이그레이션이 어렵다.

아직 존재하지 않는 코드를 사용하기

아는 코드와 모르는 코드의 경계도 있다. 모종의 사정으로 이쪽과 분리되어 내부를 알 수 없는 코드를 활용하거나, 아직 만들어지지 않은 코드를 활용해야 할 때도 있다.
=> 우리가 바라는 설계를 바탕으로 자체적으로 인터페이스를 정의하고, 비즈니스 로직을 이를 바탕으로 구현하면 존재하지 않는 코드를 통제할 수 있다.
또한, 저쪽 팀이 코드를 완성한 후에는 Adapter 패턴을 통해 실제 코드를 인터페이스에 맞추는 로직을 한곳으로 모으면, 깔끔하게 코드를 이식할 수 있다.

  • 이 경우, 적절한 Fake 클래스를 사용할 수 있어 테스트도 편하다.