본문 바로가기
회고 모음

코드숨 스프링편 - 1주차 회고

by e-pd 2021. 1. 24.

github.com/CodeSoom/spring-week1-assignment-1/pull/5

 

[Week1] ToDo REST API 만들기 by etff · Pull Request #5 · CodeSoom/spring-week1-assignment-1

🎯 요구사항 1. ToDo 목록 얻기 - GET /tasks 2. ToDo 상세 조회하기 - GET /tasks/{id} 3. ToDo 생성하기 - POST /tasks 4. ToDo 제목 수정하기 - PUT/PATCH /tasks/{id} 5. ToDo 삭제하기 - DELETE /tasks/{id} test 통과후 PR

github.com

코드숨과 함께한 1주일을 되돌아 봅니다.

 

과제 후기

나는야 if factory (?)

과제가 나왔을때 요건이 간단했기때문에 구현하는데 어렵지는 않았습니다.
TEST 파란불을 만들기위해 if문을 많이 사용했습니다.

 

짠! 파란불이 나왔는데 결과는 어땠을까요?

 

 

코드 리뷰에서 가장 많이 체크받은 곳은 가독성 부분이었습니다.

 

 

좀 더 읽기 쉬우려면 어떻게 해야할까요? 트레이너분님께서 많은 질문을 주었습니다.

빠른 실패는 복잡한 유효성 체크를 처리하는데 도움을 줍니다. 개념으로는 아는데 코드로는 안나왔습니다.

 

왜 안나왔을까...

기계적인 코딩을 했기 때문입니다.
여기는 GET 메서드 => if 존재할 경우, if 존재하지 않을 경우... 여기에 뭔가 또 없으면 if
결과적으로 if가 잔득 붙어 이해하기 어려운 코드가 되었습니다.

윤석님의 리뷰에서 이점을 많이 느겼습니다.

static is evil

 

너무 강렬하게 기억에 남는 아샬님의 리뷰.
정적 factory로 하나만 두었으면 하는 생각으로 util성 클래스를 만들고는 했습니다.
결과는 static으로 뒤덮힌 클래스가 만들게 되었어요. 이번 계기로 static과 싱글턴에 대해서 충격을 느겼습니다.

 

이번 과제에서 잘 되었던 것

기간내 요구사항 완성, 기능별로 method를 나누기, 역할을 나눠 클래스를 나누기

이번 과제에서 잘 안된것

의미있는 커밋을 많이 하지 못했습니다. 수정사항 1개 커밋.... 수정사항 1개 커밋...수정사항 1개 커밋
시간에 쫓겨서 그랬다지만 다음에는 의미있는 커밋을 해야겠습니다.

 

테스트가 제공(?) 되었지만 스스로 테스트를 많이 만들지 못했습니다.
다음에는 테스트를 만들고 TDD를 하도록 개발을 해야겠습니다.

 

IF문 없애기를 해보려고 했는데 그것을 못한게 아쉽습니다.
enum이나 map을 이용해서 하는데 simpleFactory에 비해 적용하기가 힘들었습니다.

 

눈앞의 내 개발이 밀려있다보니, 다른 트레이너와 다른 개발자분이 개발하는 것들을 살펴보지못한게 아쉽습니다.
같은 과제지만 다양한 insight를 얻는 기회를 놓쳤을지도 모르겠네요.