본문으로 바로가기

1주 차 미션 : 로또(Lotto) - TDD

 

저장소 : https://github.com/prodo-developer/java-lotto/tree/prodo-developer

느낀점

  • 클래스, 메서드 분리가 쉽지 않다.
  • 모든 원시 값과 문자열을 포장하는 과정에서의 테스트 코드 작성이 쉽지 않다.
  • 단위 테스트 작성보다 TDD는 조금 더 어렵다.

이번 과정에서 중심적으로 연습할 객체지향 생활 체조 원칙

  • 모든 원시 값과 문자열을 포장한다.
  • 줄여 쓰지 않는다(축약 금지).
  • 일급 콜렉션을 쓴다.

이번 과정의 목표 경험

  • TDD 기반으로 프로그래밍하는 경험
  • 메소드 분리 + 클래스를 분리하는 리팩토링 경험
  • 점진적으로 리팩토링하는 경험
  • stream 적극 사용하기
  • enum 사용하기
  • 동기들과 페어 프로그래밍 진행

내 코드 피드백

2단계 문자열 덧셈 계산기

 

3단계 로또(자동)

 

4단계 로또(2등)

위와 같이 리뷰어님의 친절한 피드백과 빠른 소통으로 이번 로또 미션을 수행하는데 많은 도움이 되었다.

 

후기

이번 로또에서는 역할과 책임 분배에 많은 시간이 걸렸다.

 

일급컬렉션의 사용 그리고 분리하여 변환하는 과정들.

 

역할과 책임에 대해 많은 에러사항이 존재했었고,

결합도와 응집도에 대한 오류사항도 많았다.

 

리뷰어가 사소한건 바로 지적해주었지만,

잘못된 설계는 힌트로 주면서 내가 스스로 깨닫게 해주는 유도 방식에 시간이 꽤 걸렸다.

 

일을 하면서 과제를 같이 병행하니 육체적으로 지쳐갔지만 든든한 동기들과 리뷰어님의 도움으로 힘을 낼 수 있었다.

 

남은 미션들도 지금과 같은 마음으로 잘 마무리 짓도록 달려보자!