7월 12일부터 시작한 경력자 부트캠프의 1주일이 지났다.
지난 한 주간은 TDD에 대한 것을 주제로 아래 내용을 익혔다.
- TDD로 범위를 작게 개발하는 것.
- 테스트코드를 작성하는 방법
- 테스트더블을 이용한 테스트코드 법
그리고 일주일이 지난 이번 토요일엔 여러 형태의 코드 리뷰를 받았다.
- 렌 멘토님의 전체 코드 리뷰 : 멤버 한 분의 코드를 보면서 코드리뷰를 했는데 비슷한 고민을 하면서 코드를 작성하기 때문에 공감가는 부분이 많았다. 이 시간에 많은 인사이트를 받았다
- 랜덤 리뷰 : 다른 팀 멤버들과 랜덤하게 조가 편성되어 각자가 받은 PR을 공유했다. 우리 팀은 주제로 이야기를 나눴는데 @Transactional 에 대한 부분과 테스트코드에 대한 이야기를 했다.
Transaction의 범위와 readonly=true 부분에 대한 이야기를 주로 나누었고,
테스트코드에 대해서는 하나의 테스트 메서드에 의문이 들지 않아야 하는 것에 대한 이야기 중, arrange 단계에서 존재 여부를 jpaRepository등 에서 확인을 해줘야 하는 부분이었다. 그리고, 내가 구현한 회원가입시 초기 잔액 0원인 포인트 생성 시, row가 userId당 1개이다 보니 통합테스트에서 테스트하기 까다로웠던 부분을 잠시 공유했다. User와 Point을 보통 하나의 엔티티로 두었는데, 나처럼 분리해서 회원가입시 넣어준 멤버를 만날 수 있었다. - 담당 멘토의 코드 리뷰 코멘트 및 리뷰 포인트에 대한 답변
내가 궁금했던 부분을 리뷰 포인트에 적었기에 멘토님의 답변을 들을 수 있어 좋았는데, 추가적으로 궁금해지기도 하는 부분이었다. 그리고 TDD로 개발할 때 적은 단위로 개발하는 것이 장점이라 생각했는데, 연관관계가 있는 도메인을 개발할 때 개발이 명료해지지 않은 부분에 대해서 답변이 인상적이였다. 아직은 확실히 이해가 되지 않는 부분이다.
이에 구조적으로 해소하는 접근을 해볼 수 있어요. 비즈니스 기능 내에서도 중심 도메인과 서브 도메인을 나누어 고려하곤 합니다. ( 나아가서는 이벤트 등을 이용해 느슨한 결합을 만들기도 해요 )
(1) 유저만 먼저 만들고, 회원가입이 되게 한다. (2) 포인트 도메인 추가를 하고, 회원가입 유즈케이스에서 회원이 만들어지면 이를 기반으로 포인트 또한 생성되도록 애플리케이션 레벨에서 보장한다.
여러 형태의 리뷰를 받으면서 새롭게 알게 된 것들이 있어, 내 코드에 적용하는 리팩토링을 하려고 한다.
그리면서 느낀점을 적어본다.
활동을 하면서 느낀 것이 아닌, 실질적으로 해야 할 일을 listup해둔다. 그래서 컴퓨터 앞에 앉았을 때 머릿속에서의 지체없이 바로 수행하도록 한다. 앞으로 이 부분이 잘 정립되었으면 좋겠다!
'Essay > WIL' 카테고리의 다른 글
[WIL] 부트캠프 3주차 (2) | 2025.08.03 |
---|---|
자바 2주차 WIL (0) | 2022.02.27 |
자바 1주차 WIL 키워드 (0) | 2022.02.20 |
댓글