코드숨 5주차(9/6 ~ 9/12) 주간회고

UkJJang·2021년 9월 12일
0

Fact

  • 코드숨 5주차 과제 고양이 장난감가게 만들기 심화과제
  • 알고리즘 공부

Feelings

1일차 ~ 2일차

  • 가장 먼저 User에 대한 기능을 구현하기 위해 User 도메인과 Repository, service를 만들어서 작성했다. 특히 User 도메인을 작성할 때 Lombok을 이용하였는데 단순히 개발자의 수고를 덜어주는 아주 편리한 라이브러리라고 생각하고 사용을했다. 하지만 롬복에는 사용할때 주의점이 몇개 있었다.

롬복에서는 @AllArgsConstructor 애노테이션이 위험하다는 피드백이였다. 처음에 단순히 객체 생성자를 자동으로 만들어줘서 아주 편리하다고 생각하였는데 위험하다는 애노테이션이라는 말씀을 듣고 롬복을 사용할때 주의사항이 있다는 것을 알게 되었다.

  • 사용자 생성을 할 때 이메일 중복이 발생되지 않도록 하려면 어떻게 해야할까 고민을 계속 했었다. 사용자의 정보를 모두 가져와서 생성할 이메일과 비교하여 중복처리를 하도록 메소드를 작성하고 테스트 코드를 작성했다. 하지만 문제는 테스트 코드에 있었다.
    given을 어느정도 이해했다고 생각했지만 막상 작성해보면 테스트코드에 통과하지 못했다. 그이유 또한 찾지 못하고있었다. 따라서 종립님 께서 given때문에 테스트 코드의 본질적인 목표를 놓치고 있는것 같다고 말씀을 해주셨다.

아직까지도 잘 작성을 못하지만 계속해서 테스트 코드에 친숙해 지다 보면 어느순간 익숙해 질거라는 생각이 들었다.

3일차 ~ 6일차

  • 3일차는 다른 분들은 잘 하시는것 같은데 나만 못하고 있다는 생각과 여러가지 고민이 겹쳐져서 과제에 집중할 수 없었다.

  • 4일차에는 피드백 대로 given을 사용하지 않고 테스트 코드를 작성했다. @DataJpaTest를 이용하여 테스트를 작성했는데 실제 작성하는 것처럼 테스트를 할 수 있어서 확실히 작성할 때 조금 더 편한 느낌이 들었다.

다행히 테스트 코드가 많이 나아졌다는 피드백을 받았다. 별일 아니지만 나에게는 뿌듯한 하루였다.

  • 5~6일차에는 테스트 코드가 많이 나아졌지만 테스트 케이스에 논리적인 근거가 없다는 피드백을 해주셨다.
    그래서 새로운 테스트 코드를 작성하지 않고 지금까지 작성한 테스트 코드들이 논리적인 근거를 가질 수 있도록 케이스를 수정해 주었다.

이 외에도 javadoc 작성하는 방법, 테스트를 진행하고 실험실을 청소해주는 습관, 각 상황에 맞는 예외를 던져주는 방법 등 피드백을 통해 많은 내용을 배울 수 있었다. 비록 과제의 목적에 맞게 수행하지는 못한 것 같지만 이번 5주차를 통해서 테스트 코드에 조금더 친숙해지는 계기가 되었다.

Finding

Affirmation

  • 6주차 코드숨 과정 성실히 참여하기
  • JPA 공부
  • 알고리즘 공부
  • 개인 포트폴리오 주제 생각해보기
profile
꾸준하게 성실하게

0개의 댓글