경험 기반 구체화
복잡한 비즈니스 로직을 명확하게 구조화한 경험은 학교 웹 개발 수업의 이커머스 주문 처리 프로젝트에서였습니다. 주문→결제→재고 차감→배송 상태 업데이트까지 흐름이 이어지는 로직을 처음에는 하나의 함수 안에 다 넣었는데, 예외 처리가 추가될수록 스파게티 코드가 돼서 유지보수가 어려워졌습니다. 이후 각 단계를 단일 책임 원칙에 따라 분리하고, 상태 전이 로직을 상태 머신 패턴으로 정리하자 코드 가독성이 크게 개선됐습니다. 가장 어려웠던 점은 비즈니스 규칙 변경이 생겼을 때 어느 모듈만 수정하면 되는지 경계를 잡는 것이었는데, 초기에 명확한 인터페이스를 설계해두면 변경 범위가 제한된다는 걸 배웠습니다.
비즈니스 로직 문서화도 중요한데, 코드만으로는 '왜 이 규칙인지'를 알 수 없는 경우가 많습니다.