2024/12/07 2

[내일배움캠프/백엔드] Spring 심화. 아웃소싱 프로젝트 발표 자료

OrderStatus Enum : 상태 변경 로직1.개요주문 상태(OrderStatus)는 주문 처리 단계를 관리하는 핵심 요소Enum(열거형) 타입으로 구현하여 주문의 진행 상태를 명확하게 정의상태 변경이 순서대로 진행되도록 로직을 설계하고, 중앙에서 관리하여 잘못된 상태 변경의 예외 상황을 방지하고 데이터의 일관성을 유지 2. 왜 이런 설계를 선택했는지?잘못된 상태 변경으로 인해 주문 데이터가 비정상적으로 처리될 가능성이 있고, 순서를 지키지 않아도 통과되는 문제 발생을 없애기 위해 선택canTransitionTo 메서드를 사용하여 상태 전환이 허용된 경우에만 변경 가능3. 상태 변경 로직을 적용 후 예외처리상태 변경의 흐름ORDERED → ACCEPTED: 사장님이 주문을 수락. ACCEPTED →..

[내일배움캠프/백엔드] Spring 심화. 아웃소싱 프로젝트 트러블 슈팅

1. 코드 구현 전 원활하고 구체적인 의사소통 필요1) 개요프로젝트 진행이 아직 미숙하여 초기에 팀원 간의 충분한 의사소통이 이루어지지 않아 프로젝트 진행 중에 기본 구조 및 코딩 규칙 등이 통일 되지 않았다. 이로 인해 코드 merge 후 여러 문제점 발생 2) 문제 상황기본 구조와 의존성 정의 X문제팀원이 각각 다른 방식으로 프로젝트의 기본 구조를 설계BaseEntity를 포함한 예외 처리 방식, 의존성 추가 등에 대한 사전 합의가 부족결과중복된 의존성이 추가됨 (ex. spring-boot-starter-validation 중복 추가)예외 처리가 전역 예외처리와 Service 계층에서 각각 처리되어 일관성 부족 및 혼란용어 정의 및 타입 불일치문제가게 주인과 관련된 용어를 각각 다르게 정의(Owne..