• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
테스트 주도 개발 By googletest   3장 모두를 위한 평등
 

테스트 주도 개발 By googletest 3장 모두를 위한 평등

on

  • 537 views

테스트 주도 개발 By googletest - 3장, 모두를 위한 평등

테스트 주도 개발 By googletest - 3장, 모두를 위한 평등
관련글: http://surpreem.com/archives/45

Statistics

Views

Total Views
537
Views on SlideShare
415
Embed Views
122

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 122

http://surpreem.wordpress.com 121
http://surpreem.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    테스트 주도 개발 By googletest   3장 모두를 위한 평등 테스트 주도 개발 By googletest 3장 모두를 위한 평등 Presentation Transcript

    • 테스트 주도 개발
      by googletest
      3장. 모두를 위한 평등
    • 참고
      값 객체 패턴(value object pattern)
      • 객체를 값처럼 쓸 수 있는 패턴
      • 객체 인스턴스변수는 생성자 통해 한 번 설정한 후에는 결코 변하지 않음
      • 별칭 문제 걱정 끝
      별칭 문제
      수표1=$5
      수표1=$10
      $5
      $10
      수표2=$5
      수표2
    • To do:
      • $5 + 10CHF = 10$(환율 2:1)
      • $5 * 2 = $10
      • amount를 private으로 만들기
      • Dollar 부작용(side effent)?
      • Money 반올림?
      • equals()
      • hashCode()
      목록에 추가
      ‘값 객체’여야 한다는 것은…
      • 모든 연산은 새 객체를 반환
      • 값 객체는 equals()를 구현
      Dollar를 해시 테이블 키로 쓴다면 equals() 구현할 때 hashCode()도 함께 구현
    • To do:
      • $5 + 10CHF = 10$(환율 2:1)
      • $5 * 2 = $10
      • amount를 private으로 만들기
      • Dollar 부작용(side effent)?
      • Money 반올림?
      • equals()
      • hashCode()
      빨간 막대를
      빨리 녹색 막대로
      가짜로 구현
    • 삼각측량
    • To do:
      • $5 + 10CHF = 10$(환율 2:1)
      • $5 * 2 = $10
      • amount를 private으로 만들기
      • Dollar 부작용(side effent)?
      • Money 반올림?
      • equals()
      • hashCode()
      삼각 측량 위한 두 번째 예:$5 != $6
      동치성(equality) 일반화
    • 생각…
      • 코드와 테스트 사이 중복 제거하고 일반적 해법 구할 수 있으면 바로 처리
      • 설계가 떠오르지 않으면 삼각 측량으로 몇 부분을 바꿔 가며 다른 각도에서 생각
      또 다른 생각…
      • 널 값, 다른 객체와 비교할 때는 어떻게 될까? 할 일에 추가
    • 지금까지 우리는…
      • 디자인 패턴이 또 다른 오퍼레이션을 암시한다는 걸 알아 챘다.
      • 해당 오퍼레이션을 테스트 했다.
      • 해당 오퍼레이션을 간단히 구현했다.
      • 곧잘 리팩토링하는 대신 테스트를 조금 더 했다.
      • 두 경우를 모두 수용할 수 있도록 리팩토링했다.