4일간 진행한 배달의 민족 자바 클론 코딩 프로젝트의 회고.
6명의 팀원과 설계부터 구현까지 순수 자바로 구현한 프로젝트였다.
2가지 주요 고민사항이 있었다.
- MVC에서 최초 진입점은 Controller인가 View인가
- 다른 도메인의 서비스 로직을 Controller에서 처리해야 하는가 Service에서 처리해야 하는가
1. Keep
- 도메인 별로 역할을 나누어 개발하여, 협업과 유지보수에 용이했다.
- 이슈 공유를 활발히 하고, 깃과 코드 컨벤션을 명확히 했다.
- 싱글톤 패턴을 사용하여 데이터의 정합성을 지켰다.
- 리팩토링을 통해 클린코드를 지향하였다.
- 기능별로 하나의 책임만 가지도록 하였다.
2. Problem
- 나는 Order 기능을 개발했는데, Store와 Menu 기능이 선제적으로 필요했기 때문에, 로직을 구현하기 힘들었다.
- 인터페이스를 구현하지 않고 개발했다.
- Main에서 Controller 와 View의 분리가 모호했다.
- Controller에서 여러 개의 Service를 접근하여 사용하면서 Controller 단에도 로직이 생겨버렸다.
3. Try
- 테스트 코드를 작성하여, store와 menu없이 기능의 정상 동작을 확인한다.
- 인터페이스를 사용하여 좀 더 SOLID원칙에 부합하는 코드를 작성한다.
- Main을 Controller와 View로 분리하여 진입점을 Controller로 설정한다.
- 다른 도메인의 서비스 로직 위치를 변경했을 때 문제점을 찾아본다.
'회고' 카테고리의 다른 글
목적지 기반 심부름 서비스 "오다 주웠다" 회고 (0) | 2024.07.09 |
---|---|
페어 프로그래밍 (1) (0) | 2024.07.03 |