Skip to content

Latest commit

 

History

History
58 lines (36 loc) · 2.45 KB

03. 지하철 경로.md

File metadata and controls

58 lines (36 loc) · 2.45 KB

페어의 피드백

좋았던 점

  • 기반 지식이 있어서 설명한 내용을 바로 알아들어서 좋았다.
  • 설명 하는 것을 제대로 이해하는 것 같아서 좋았다.
  • 의사소통하기 편했다.
  • 떠오르는 불편함이 없다. 다른 사람들에게서 있던 불편함이 없었다는 의미이다.

아쉬웠던 점

  • 딱히 없었다.

리뷰어의 피드백

  • ApplicationRunner를 통해 데이터를 추가해놨는데, 코드로 개발용 데이터를 관리하는 것 보단 data.sql로 데이터를 초기화해라.

  • Controller, Service의 필드는 final을 붙여 필수 멤버 변수인 것을 표시해라.

    • 이 객체를 생성할 때 필요한 멤버 변수를 초기화하도록 강제시켜 객체를 설계한 의도대로 사용하도록 만들어준다.
  • @ModelAttribute는 생략 가능하다.

  • Enum에서 열거형 이름에 해당하는 필드는 없어도 된다.

    • name() 메서드와 toLowerCase() 를 사용해 구할 수 있다.
  • 새로운 api와 uri 경로가 추가될 때마다 AcceptanceTest가 너무 커질 수 있다.

    • get, post, put, delete에 대한 중복 처리만 AcceptanceTest에서 제공해라.

       <T> T post(String path, Map<String, String> params, Class<T> responseType) {
              return
                      given().
                              body(params).
                              contentType(MediaType.APPLICATION_JSON_VALUE).
                              accept(MediaType.APPLICATION_JSON_VALUE).
                      when().
                              post(path).
                      then().
                              log().all().
                              statusCode(HttpStatus.CREATED.value()).
                              extract().as(responseType);
          }
      
    • AcceptanceTest는 모든 인수 테스트에서 공통적으로 사용할 기능만 남기는게 좋다.

    • AcceptanceTest에 특정 도메인에 관련된 테스트가 있을 경우 상속해서 사용하다가 수정사항이 생길 경우 상속 받은 다른 테스트에도 영향을 준다. 그렇게 되면 테스트를 수정하기 어려워진다.

    • 함께 사용하는 테스트 픽스쳐를 만들었다가 픽스쳐가 변경되면 다른 테스트까지 모두 수정해야 하는 경우가 생긴다. 그렇기 때문에 중복코드를 감수하더라도 픽스쳐를 따로 만들어준다.

  • 비즈니스 로직을 서비스 객체에 노출하지 않도록 변경해라.