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

26
TDD 퀴퀴 1 퀴퀴 - 퀴퀴퀴 퀴퀴 - 퀴퀴퀴

description

TDD 퀴즈 1 리뷰 - 비디오 대여 -. 백기선. 코드 리뷰 차례. Dazzilove( 류성희 ) Javajigi( 박재성 ) Kanisuka( 박호연 ) Keesun( 백기선 ) LeeKiWon( 이기원 ) Nije( 김재진 ) Sungyoon( 김성윤 ). Dazzilove( 류성희 ) - 비디오 대여 -. 프로젝트 체크아웃. JUnit 3 라이브러리 추가 해줘야 함 . 인코딩 MS949 테스트 코드와 제품 코드 구분 없음. 클래스 구조. rentItems. Customer. - PowerPoint PPT Presentation

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

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

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

백기선

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

코드 리뷰 차례

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

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

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

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

프로젝트 체크아웃

• JUnit 3 라이브러리 추가 해줘야 함 .• 인코딩 MS949 • 테스트 코드와 제품 코드 구분 없음 .

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

클래스 구조

Customer Video

rentItems

videos

RentalReport

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

비디오에 아이디가 있다 ?

요구 사항에 없는 내용…

추가 구현인지 미리 설계한 것인지…

왜 필요할까 ?

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

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

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

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

보너스 포인트 속성 중복

bonusPoint 속성 중복

-Video 에도 있고

-VideoKindItem 에도 있음

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

String 애착증

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

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

테스트 코드 리팩터링 필요

그런데 테스트 내용이 조금…

setVideoKind() 에 로직이 들어가있음 .

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

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

테스트 커버리지99.7%

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

옥의티

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

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

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

프로젝트 체크아웃

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

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

클래스 구조

Customer RentalVideo

rentalVideos

Video

Documentary

Sports Movie

VideoType

rentalHistory

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

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

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

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

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

대여 날짜가 필수 ?

대여 날짜를 비디오가 반드시 가지고 있어야 할까 ?어떤 요구 사항에 의해 추가된 것일까 ?추가 기능인가 ?

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

대여 상태 확인

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

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

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

Mocking 사용

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

Customer 와 Calendar 는 ?

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

테스트 코드 리팩터링 필요

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

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

요구 사항

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

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

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

테스트 커버리지

87.3%

군대 군대 None-TDD 코드가 보임

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

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

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

클래스 구조

Customer Rental

rentals

Video

DocumentaryType

SportsTypeMovieType

AbstractVideoType

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

테스트 커버리지100%