github.com/CodeSoom/spring-week4-assignment-1/pull/7
1. 한 것
고양이 장난감가게 REST API를 TDD로 만들기
2. 배운것
lombok에 대해서 학습하기
javadoc 빌드 방법, 오픈소스에서 사용되는 javadoc 읽어보기
3. 느낀점
TDD on Spring ~ 봄에는 TDD.
이번에는 시작부터 TDD로 개발하기로 했다.
TDD 사이클을 통해 TEST -> 구현 -> 리펙토링 연습하다보니 이제 조금씩 되는 것같아 기쁘다.
과제를 받았을 때, 해보고 싶은 몇 가지 아이디어가 떠오르는 것들이 있었다.
몇 가지 아이디어가 있기는 했는데 기간안에 구현하려면 분명 빠듯할 것이라 생각됐다.
추가적인 부분은 나중에 생각하고 가장 빠르게 구현할 수 있는 방법으로 기능을 구현하기로 했다.
제 시간에 요구사항 구현이 무엇보다 1순위라고 생각한다.
첫번째로 내가 생각했던 API Spec과 제시된 Spec으로 구현하고, 제시된 테스트 스펙으로 수정했다.
이번 과제에서 어려웠던 건 주석이다. 평소에 서비스 계층이나 컨트롤러 자체에서는 주석을 달지 않았다.
서비스는 무엇인지 Controller는 무엇인지 다시금 고민했다.
javadoc 같이 새로운 것을 알아보는 것도 재미있었다.
종립님께서 javadoc 빌드하는 방법을 올려주셨는데, 내 프로젝트를 빌드해보니 정말 휑했다. 누군가 인수인계를 위해
이 프로젝트를 문서화해서 달라고했을 때문서의 빈 부분이 많으면 그만큼 좌절하게 될 것이다..
발상의 전환같은 것도 있다.
너무 관습화되서 잊고 있을지도 모른다. 가끔을 원칙을 제대로 적용하는지 돌아봐야겠다. 다 지키기는 어렵지만
규칙 1: 한 메서드에 오직 한 단계의 들여쓰기만 한다.
규칙 2: else 예약어를 쓰지 않는다.
규칙 3: 모든 원시값과 문자열을 포장한다.
규칙 4: 한 줄에 점을 하나만 찍는다.
규칙 5: 줄여쓰지 않는다(축약 금지).
규칙 6: 모든 엔티티를 작게 유지한다.
규칙 7: 2개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다.
규칙 8: 일급 콜렉션을 쓴다.
규칙 9: 게터/세터/프로퍼티를 쓰지 않는다.
메서드 시그니처에 개발자가 직접 예외를 명시하는 방법은 생각해본 적이 없었다.
다른 개발자가 시그니처를 보고 해당 메서드를 보고 어떤 코드인지 더 빨리 이해할 수 있을 것같다.
내 나름대로 해당 메서드의 생각도 공유했다.
자주 체크되서 고쳐야할 부분
자주 나오는 체크부분인데, 좀더 이부분을 수정해야겠다.
예외는 주는 걸까 예외가 발생하는 걸까
처음에 생각만 하고 해보지 못한 것들
- 주제였던 고양이 장난감 상속관계 구현하기
- 원시값인 가격을 불변객체로 바꾸기
- ATDD 로 기능 구현하기
'회고 모음' 카테고리의 다른 글
코드숨 스프링편 - 6주차 회고 (0) | 2021.03.07 |
---|---|
코드숨 스프링편 - 5주차 회고 (0) | 2021.02.28 |
코드숨 스프링편 - 3주차 회고 (0) | 2021.02.08 |
온라인 스터디 - Study Halle? Season 1 후기 (0) | 2021.02.05 |
코드숨 스프링편 - 2주차 회고 (0) | 2021.01.31 |