클린 코드 독서일지 - Day 15

2023. 11. 10. 01:17·독서일지/클린 코드

경계

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

외부 코드 사용하기

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

경계 살피고 익히기

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

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

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

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

아는 코드와 모르는 코드의 경계도 있다. 모종의 사정으로 이쪽과 분리되어 내부를 알 수 없는 코드를 활용하거나, 아직 만들어지지 않은 코드를 활용해야 할 때도 있다.
=> 우리가 바라는 설계를 바탕으로 자체적으로 인터페이스를 정의하고, 비즈니스 로직을 이를 바탕으로 구현하면 존재하지 않는 코드를 통제할 수 있다.
또한, 저쪽 팀이 코드를 완성한 후에는 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
'독서일지/클린 코드' 카테고리의 다른 글
  • 클린 코드 독서일지 - Day 17
  • 클린 코드 독서일지 - Day 16
  • 클린 코드 독서일지 - Day 14
  • 클린 코드 독서일지 - Day 13
Sadie Kim
Sadie Kim
주니어 웹 개발자입니다.
  • Sadie Kim
    Sadie의 개발일기
    Sadie Kim
  • 전체
    오늘
    어제
    • 분류 전체보기 (80) N
      • 라이브러리 탐색 (2)
      • 구현기 (8)
        • 웹 프로젝트 (5)
        • 트러블 슈팅 (3)
      • 공부 (19) N
        • JS, TS (4)
        • 리액트 (3) N
        • HTML, CSS (2)
        • 웹 (2)
        • CS (1)
        • 알고리즘 문제풀이 (5)
        • 파이썬 (1)
        • AI (1)
        • Test (0)
      • 회고 (4)
      • 독서일지 (47)
        • 클린 코드 (47)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    미디어쿼리
    알고리즘
    스타일 툴
    react
    Spring Boot
    CSAPP
    프로그래머스
    트러블슈팅
    백준
    회고
    클린코드
    GPT
    정리
    노션백업
    크래프톤정글
    웹
    프롬프트엔지니어링
    공부
    타입스크립트
    js
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Sadie Kim
클린 코드 독서일지 - Day 15
상단으로

티스토리툴바