항해99

항해99 21일차 TIL3 - 처음으로 코드 리뷰란 걸 받아봤다.

자몽포도 2022. 12. 28. 23:44

우선 정선스런 코드 리뷰를 해주신 기술매니저님께 무수한 감사 인사를 드립니다 :)

 

코드 리뷰를 통해 알게 된 것, 더 많지만 3가지만 적겠습니다!

  • 서비스단에선 서비스에 맞는 역할만!  웹과 관련된건 컨트롤러에서 처리하자
  • 스트림 쓸거면 의미있게 사용하자. 그 외적으로도 모든 코드가 의미가 있어야 좋다.
  • REST API 약속 몇 가지

 

1. 서비스단에선 서비스에 맞는 역할만!  웹과 관련된건 컨트롤러에서 처리하자

리팩토링 전

리팩토링 후

 

 

이렇게 쓰면 장점! 서비스 레이어가 독립적으로 개발될 수 있다. 의존성이 떨어진다.아주아주 아주 만약에 HTTP가 망해서 다른 프로토콜이 웹 통신에서 주류가된다면 리팩토링 후 코드가 더 변경에 용이할 것이다.

 

 

2. 스트림 쓸거면 의미있게 사용하자. 그 외적으로도 모든 코드가 의미가 있어야 좋다.

 

리팩토링 전

리팩토링 후

for 문이 아니라 stream을 쓰려던 이유가 코드의 간소화였다.

그런데 리팩토링 전에는 사실 스트림을 쓰나 for문을 쓰나 큰 차이가 없다.

 

그리고 스트림 객체를 생성하지 않더라도 바로 이렇게 쓸 수 있다.

boards.forEach()

 

3. REST API 약속 몇 가지

사실 이 부분은 아직 잘 이해가 안된다. REST API를 설계할 때 개발자들간에 약속이니까 지키도록 하겠다.

 

예를 들면 나는 Collection 객체들을 반환할떄만 복수형으로 사용했다. /posts

객체 하나, 예를 들어 게시글 하나만 조회할 때는 단수형으로 사용하고 식별자로 구분했다. /post/3

 

합리적이라고 생각했다. 모 그런데 일단 복수형으로 사용하는게 REST 아키텍쳐 스타일이라고 합니다.

근데 일단 복수형으로 통일하니까 요청 보낼때 편하네요.

 

이외에도 내가 update 메소드를 두개를 만들어서 url에 v2를 붙여줬는데 그런건 맨 앞에 붙여야 된다고 한다.

 

나중에 REST에 대해 조금 더 살펴봐야겠습니다!