Skip to content

Latest commit

 

History

History
28 lines (22 loc) · 1.49 KB

chapter 8.md

File metadata and controls

28 lines (22 loc) · 1.49 KB

8장 경계

외부 코드 사용하기

  • 인터페이스 제공자와 사용자는 상충되는 목적으로 인터페이스를 제공/사용한다
    • 제공자는 포괄적으로 인터페이스를 제공한다
    • 사용자는 더 closed된 형태의 인터페이스를 원한다
  • 외부 코드에서 제공하는 경계형 인터페이스를 여기저기 넘기면 안된다
    • 사용자에게 목적에 반하는 메소드도 제공할 수 있다
    • 인터페이스가 바뀜에 따라 수정할 코드가 늘어난다
      → 감싸기 메서드/클래스로 외부에 노출시키지 않는 방법이 있다

경계 살피고 익히기

외부 코드와 내부 코드의 경계를 구분하고 접근하자

  • 테스트 케이스를 작성해서 외부 코드를 먼저 익히자(학습 테스트)

학습 테스트는 공짜이상이다

  • 학습 테스트는 이해도를 높여주는 정확한 실험이다
  • 통합 이후에도 재사용 할 수 있다

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

  • 아는 코드와 모르는 코드를 분리하자

image image

  • 위 코드는 학습테스트를 하지 않고 사용하여 createFile의 googleDriveService가 nullpointer 오류를 발생시켰다.
  • 원인은 handleSignInResult에서 실패에 대한 처리를 해주지 않았던 것이였다.