새소식

TIL

[TIL] 230625 <Spring> 팀프로젝트 14조 - '일'과 함께 '사'라지다 KPT 회고

  • -

 

😆 Keep - 현재 만족하고 있는 부분

  • 코드 컨벤션과 깃허브 룰스, 이슈 및 PR 템플릿을 미리 정하고 지켜서 사용함
  • PR시 리뷰 작성하여 코드 개선 및 확인
  • 규칙성 있는 주석 작성
  • Git issue랑 project를 사용해서 개발 진행과정을 보는데 좋았다.
  • 구체적인 예외처리
  • 규칙성 있는 패키지 구조 구성
  • TimeStamp에 @PrePersist를 의도에 맞게 잘 사용함
  • entity에 제약조건과 같은 구체적인 ddl 설정을 잘했고 테이블명도 _table로 일관성있게 잘 만들었으며, 적절한 fetchType 지정
  • 일관성 있는 Controller의 구현
  • 팀원 간의 원활한 소통과 협업🙂
  • 주말에도 코딩하는 열정적인 모습
  • 욕심내서 최대한 많은 기능을 구현해보고자 하는 것
  • 잘하는 팀원들을 보고 동기부여를 받을 수 있어서 좋았다.

🫠 Problem - 불편하게 느끼는 부분

  • 예외 발생 : custom exception 외에도 정의되어 있는 checked, uncheched exception이 많다
    • 정의되지 않은 예외도 일관성 있게 핸들링 할 수 있도록 하면 좋을 것 같다. 또한 현재 설계로는 예외처리 객체가 없이 status만으로 client에서 예외임을 구별해야하기 때문에 statusCode를 잘 정리하면 좋을 것 같다.
  • 코드컨벤션
    • 동일 개발자가 작성한 코드가 일관성이 없다면 가독성, 신뢰성면에서 좋지 않고 무엇보다 개인의 구현 습관을 만드는데 저해요소가 된다.
  • Config 파일에 이미 UserAuth로 선언된 상수가 magic number로 작성하였는데 상수로 관리해야 할 필요성 느낌.
  • OrderMenuList란 객체 명언 적합하지 않음
    • 객체는 단일을 보장받으며 복수의 형태를 가질 수 없기 때문에 collection과 array를 사용하게 된다.
  • stream을 남용하지 말고 사용 시 필요한 연산을 모두 수행하도록 할 것
  • 프로젝트 시작 전 세부적인 일정 작성과 마감 기한을 작성하지 않은 것이 아쉬웠습니다.
  • 테스트 코드를 작성하지 못한 것
  • 휴일에 시간투자를 더 못한것이 아쉬웠다.

🤩 Try - Problem에 대한 해결책, 당장 실행 가능한 것

  • 프로젝트 시작 전 세부적인 일정 작성(ex. JIRA, 마일스톤)
  • 적절합 도메인형 패키지 구조 구성
    • 현재 프로젝트에서는 entity별로 도메인을 나누었는데 도메인형 패키지 구조는 유사한 entity별로 aggregate(군집)을 짓는 것을 원칙으로 한다는 것을 알게됨.
    • 군집된 entity들 간에 협력으로 해당 도메인에 비즈니스를 처리하고 외부 도메인 협력이 필요할 시 interface를 통해 조합해 볼 것
  • Security filter의 예외처리
    • Security의 경우 대부분 예외 발생 시 기본 설정으로 response하게 되어 있음
    • EntryPoint, AccessHandler 등을 활용한 filter 예외처리도 고려해볼 것
  • controller layer에서 transactional
    • controller는 api를 관리하는 영역이기에 비즈니스를 만드는 service layer에서 transactional을 처리할 것
  • controller에 global mapping 정보
    • 규칙적이지 못한 경우가 있다 이 경우 추적성이 떨어질 수 있으니 유의해야한다.
  • try-catch 시 구체적인 exception으로 예외를 처리는게 가장 중요하지만 그 이외의 예외가 발생했을 때 try 후 catch하기 때문에 예상 외 exception도 처리하기 위한 코드를 작성해 주어야한다.
  • Entity에 상태와 같은 Enum을 확장성과 식별성을 위해서 구체적으로 수정. (Process -> OrderProcess || OrderStatus)
  • TDD : 코드 작성 전 테스트 코드 작성을 습관화하기
  • 팀플이 끝나고 자기가 구현한 코드말고도 다른사람의 코드를 뜯어보고 공부하는 시간을 가지자
  • 다른사람의 api를 다 실행해보지 못한게 아쉬웠지만 다음에는 다 실행해봐야겠다.
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.