우아한테크캠프 Pro 1주차 TDD 미션을 진행한 내용과 후기를 정리해보았습니다.
미션 저장소
https://github.com/Gyeom/java-lotto-pro
GitHub - Gyeom/java-lotto-pro: NEXTSTEP 엔터프라이즈 Pro 과정을 위한 저장소
NEXTSTEP 엔터프라이즈 Pro 과정을 위한 저장소. Contribute to Gyeom/java-lotto-pro development by creating an account on GitHub.
github.com
학습 내용
- TDD 기반으로 프로그래밍하는 경험
- 메소드 분리 + 클래스를 분리하는 리팩토링 경험
- 점진적으로 리팩토링하는 경험
요구 사항
- 규칙 1: 한 메서드에 오직 한 단계의 들여쓰기만 한다.
- 규칙 2: else 예약어를 쓰지 않는다.
- 규칙 3: 모든 원시값과 문자열을 포장한다.
- 규칙 5: 줄여쓰지 않는다(축약 금지).
- 규칙 8: 일급 콜렉션을 쓴다.
단계별 PR 리뷰 내용
1단계 미션
https://github.com/next-step/java-lotto-pro/pull/634
[김대겸] Step1 PR by Gyeom · Pull Request #634 · next-step/java-lotto-pro
안녕하세요. 1단계 - 학습 테스트 실습 PR 입니다. 잘 부탁드립니다~!
github.com


- given/when/then 주석을 작성하는 대신 빈 공백 라인을 통해 구분하자.
2단계 미션
https://github.com/next-step/java-lotto-pro/pull/655
[김대겸] Step2 PR by Gyeom · Pull Request #655 · next-step/java-lotto-pro
안녕하세요. 2단계 - 문자열 덧셈 계산기 PR 입니다. 잘 부탁드립니다~!
github.com


- https://google.github.io/styleguide/javaguide.html에 따라 중괄호를 무조건 사용하자.
Google Java Style Guide
1 Introduction This document serves as the complete definition of Google's coding standards for source code in the Java™ Programming Language. A Java source file is described as being in Google Style if and only if it adheres to the rules herein. Like ot
google.github.io
3단계 미션
https://github.com/next-step/java-lotto-pro/pull/720
[김대겸] Step3 PR by Gyeom · Pull Request #720 · next-step/java-lotto-pro
안녕하세요. 3단계 - 로또(자동) PR 입니다. 먼저 미션을 수행하면서 고민하던 부분이 있어, 2가지 질문 드립니다 ! Lotto 클래스를 공통 클래스로 사용 Lotto 클래스를 먼저 생성한 이후 당첨로또번
github.com


- 원시 값 포장하여 사용하자.

- Readme 에서 렌더링 기능 사용하자.

- 가장 마지막 줄에는 new line을 추가하도록 설정하자.

- 필요 시, 캐싱을 고려하여 사용해보자.

- DisplayName도 given - when - then 구조로 작성하자.

- 인터페이스와 구현체를 분리하여 느슨한 결합에서 오는 장점을 가져오자.

4단계 미션
https://github.com/next-step/java-lotto-pro/pull/781
[김대겸] Step4 PR by Gyeom · Pull Request #781 · next-step/java-lotto-pro
안녕하세요. 멘토님 4단계 - 로또(2등) PR 입니다. 이전 미션에 피드백 주신부분도 곰곰히 생각해서 함께 반영해보았습니다 :) 이번에도 잘 부탁드립니다~! 감사합니다.
github.com





5단계 미션
https://github.com/next-step/java-lotto-pro/pull/826
[김대겸] Step5 PR by Gyeom · Pull Request #826 · next-step/java-lotto-pro
안녕하세요. 멘토님 5단계 - 로또(수동) PR 입니다. 저번 4단계 피드백 관련해서 멘토님 의견 들어보고 싶은게 있어 아래 첨부도 같이 드립니다. 마지막 리뷰도 잘 부탁드립니다 :) 감사합니다.
github.com


- MVC구조에서 View는 Model에 대해 모르는게 맞다.


- InputView를 인터페이스로 만들면 테스트 코드 작성이 자유로워진다. (다른 기능도 마찬가지)

미션 회고
프리코스에 이어 이번 미션까지 TDD로 코드를 작성하다보니, 프로덕션 코드를 작성하기전에 요구사항을 먼저 리스트업하고 테스트 코드를 작성하는 것이 습관화 된 것 같다. 그리고 리뷰어님의 피드백을 통해 코드를 효과적으로 작성하는 방법에 대한 좋은 인사이트를 많이 얻어갈 수 있었다. 이제 첫 미션인데 벌써부터 정말 많이 배운 것 같고 앞으로 남은 미션들을 통해 성장할 생각을 하니 벌써 기대가 된다.
'우아한테크캠프 PRO > 우아한테크캠프 회고록' 카테고리의 다른 글
[우아한테크캠프 Pro] 5주차 미션 후기 (Subway - ATDD & 단위테스트) (0) | 2023.01.01 |
---|---|
[우아한테크캠프 Pro] 3주차 미션 후기 (Subway - ATDD) (0) | 2023.01.01 |
[우아한테크캠프 Pro] 4주차 미션 후기 (그럴듯한 서비스 만들기 - AWS) (0) | 2023.01.01 |
[우아한테크캠프 Pro] 2주차 미션 후기 (QnA - JPA) (0) | 2022.12.31 |
우아한테크캠프 Pro 5기 지원하다. (0) | 2022.10.27 |