이전에 작성한 코드를 토대로 멘토님께서 코드리뷰를 해주셨습니다.!! <멘토닝의 허락을 바탕으로 깃 닉네임은 블러처리 하지 않았습니다.>
이전 코드를 잘 구현하지 못한 것 같아 코드리뷰를 토대로 처음부터 코드를 다시 짤 각오까지 하였지만, 멘토님께서 위와 같이 말씀해주셔서 생각보다 놀랐습니다.
생각보다 컨벤션 오류가 많은 것 같아서 '자바 생활체조' 책을 사서 한 번 읽어볼 예정이다.
이 코드는 저번에 멘토님이 시범 보여주셨던게 기억나서 한 번 사용해 보았다. 이에 대해서 멘토님께서 왜 사용하였는지 물어봐주셨고, 다음과 같은 답변을 남겼다.
네이밍 부분에서 지적을 많이 당했고, 네이밍 하는게 생각보다 어렵다고 느껴졌다. 네이밍에 자료형을 사용하는 것은 좋지 않다는 얘기를 멘토님께 들어서, 다음에 참고하여 코드를 작성해야겠다. 근데 왜 자료형을 사용하는 것이 좋지 않을까..? 해당 변수의 의미를 잘 나타낼 수 없어서...? 다른 사람이 코드리뷰 했을 때 헷갈릴 가능성이 있어서..? 한 번 찾아봐야겠다.
처음 구현할 때, static을 붙여주지 않았다. 그래서 멘토님께서 저러한 질문을 해주셨고, 이에 대해 찾아보면서 실수했다는 것을 느꼈다. 상수는 static final 처리 해줬어야했는데...!!
잔실수 ㅠ. 이런 실수 없도록 노력 많이 해야겠다.
거의 모든 경우를 생각하며 테스트 코드를 짜봤다. 크게 잘못된 경우, 올바른 경우, 예외처리에 관한 코드를 구현하였고, 다음과 같은 리뷰를 받을 수 있었다. 앞으로 참고해야겠다.
메서드명에도 어떤 테스트인지 나타내고 @DisplayName 어노테이션을 통해서도 어떤 테스트인지 나타내서 다음과 같은 리뷰를 받았다.
이후.
위에 지적당한 코드부분만 리펙터링 하고 최종적으로 approve 받을 수 있었다. 이번 계산기 기능 구현은 크게 어렵지 않았기에, 기능 구현보다는 테스트 구현에 신경을 많이 썼다. 그렇기에 테스트 코드를 어떻게 구현할지에 대한 고민이 가장 많이 들었고, 여러 문서와 피드백을 받으며 테스트 주도 개발(TDD)을 해야한다는 사실을 깨달았다. 이번 미션을 통해 테스트 코드에 관하여 어떤 식으로 공부하고 구현할지에 대한 방향성이 조금은 잡힌 것 같아서 걱정 한 시름 덜었다.
그리고 TDD에 대해 많이 찾아보며, 한 번 정리해볼까 했지만 아직 지식수준이 얕아 다른 블로그 베껴오기 수준밖에 되지 않는다는 느낌이 들었다. 심도있게 공부해보고 내가 구현한 코드를 토대로 TDD에 관한 글을 작성해보고싶다
'자바 > 초록스터디' 카테고리의 다른 글
(7)초록스터디 로또 1,2 단계 테스트 코드 구현 (0) | 2024.05.23 |
---|---|
(6)초록스터디 로또 1,2 단계 구현 (0) | 2024.05.23 |
(4)초록스터디 step1 : 문자열 계산기 구현과 JUnit5 테스트 (0) | 2024.05.09 |
(3)초록스터디 step1 - 초간단 계산기 구현: 계산기 MVC 패턴 구현, JUnit5 테스트 적용 (0) | 2024.05.06 |
(2)초록스터디 step1 - 초간단 계산기 구현 : 계산기 구현과 JUnit5 (0) | 2024.05.04 |