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를 다 실행해보지 못한게 아쉬웠지만 다음에는 다 실행해봐야겠다. 공유하기 게시글 관리 피할 수 없다면 즐기는 자가 일류 'TIL' 카테고리의 다른 글 [TIL] 230627 <AWS> EC2, ELB (0) 2024.06.27 [TIL] 230626 <AWS> AWS 기초, IAM (0) 2024.06.26 [TIL] 230621 <Spring> 소셜 로그인 (0) 2024.06.21 [TIL] 230620 <트러블슈팅> remote: Permission to ... denied to 사용자. unable to access '...': The requested URL returned error: 403 (0) 2024.06.20 [TIL] 230619 <Spring> 소프트웨어 아키텍처에서의 패키지 구조 설계 방식 (0) 2024.06.19 Contents 당신이 좋아할만한 콘텐츠 [TIL] 230627 <AWS> EC2, ELB 2024.06.27 [TIL] 230626 <AWS> AWS 기초, IAM 2024.06.26 [TIL] 230621 <Spring> 소셜 로그인 2024.06.21 [TIL] 230620 <트러블슈팅> remote: Permission to ... denied to 사용자. unable to access '...': The requested URL returned error: 403 2024.06.20 댓글 0 + 이전 댓글 더보기