TDD 퀴즈 1 리뷰 -비디오 대여-

Download Report

Transcript TDD 퀴즈 1 리뷰 -비디오 대여-

TDD 퀴즈 1 리뷰 -비디오 대여 백기선

코드 리뷰 차례 • • • • • • • Dazzilove(류성희) Javajigi(박재성) Kanisuka(박호연) Keesun(백기선) LeeKiWon(이기원) Nije(김재진) Sungyoon(김성윤)

Dazzilove(류성희) -비디오 대여-

프로젝트 체크아웃 • • • JUnit 3 라이브러리 추가 해줘야 함.

인코딩 MS949 테스트 코드와 제품 코드 구분 없음.

클래스 구조 Customer rentItems Video videos RentalReport

비디오에 아이디가 있다?

요구 사항에 없는 내용… 추가 구현인지 미리 설계한 것인지… 왜 필요할까?

비디오가 비디오 목록을 가진다?

비디오 샵이 비디오를 가지고 있는 것이 자연스럽지 않을까?

보너스 포인트 속성 중복 bonusPoint 속성 중복 -Video에도 있고 -VideoKindItem에도 있음

리팩터링 필요 Replace Conditional with Polymorphism Extract Method

String 애착증 enum의 장점인 type-safety를 과감히 내던진 이유는?

테스트 코드 리팩터링 필요 그런데 테스트 내용이 조금… setVideoKind()에 로직이 들어가있음.

Getter/Setter에 로직이 들어가는 것에 대해 어떻게 생각하세요?

테스트 커버리지 99.7%

옥의티

Javajigi(박재성) -비디오 대여-

프로젝트 체크아웃 • • • • 메이븐 프로젝트 인코딩 MS949 테스트와 제품 코드 구분 불필요한 의존성 존재 - JMock

클래스 구조 VideoType Customer rentalVideos RentalVideo Video rentalHistory Documentary Sports Movie

대여 행위는 고객이 주도한다.

• 고객이 어떤 비디오를 얼마 동안 빌린다.

“대여” rent()는 Customer의 책임일까? VideoShop의 책임일까?

대여 날짜가 필수?

대여 날짜를 비디오가 반드시 가지고 있어야 할까?

어떤 요구 사항에 의해 추가된 것일까?

추가 기능인가?

대여 상태 확인 대여 날짜, 대여 기간, 현재 날짜로 대여 상태를 확인할 수 있다.

요구 사항에 없는 추가 기능.

Mocking 사용 RentalVideo를 단위 테스트 하기 위해서 Video Mock 객체 사용.

Customer와 Calendar는?

테스트 코드 리팩터링 필요

비디오 마다 한 번씩 대여를 해야 하나?

요구 사항 고객은 한번에 여러 개의 비디오를 대여할 수 있으나 각각의 대여(Rental)기간은 다를 수 있다.

=> 대여 행위(rent)를 여러 번 하여 여러 개의 비디오를 대여 한다.

테스트 커버리지 87.3% 군대 군대 None-TDD 코드가 보임

doortts(채수원) -비디오 대여-

클래스 구조 Customer AbstractVideoType rentals Video Rental MovieType DocumentaryType SportsType

테스트 커버리지 100%