기능 요구사항
- 초간단 자동차 경주 게임을 구현한다.
- 주어진 횟수 동안 n대의 자동차는 전진 또는 멈출 수 있다.
- 사용자는 몇 대의 자동차로 몇 번의 이동을 할 것인지를 입력할 수 있어야 한다.
- 전진하는 조건은 0에서 9 사이에서 random 값을 구한 후 random 값이 4이상일 경우이다.
- 자동차의 상태를 화면에 출력한다. 어느 시점에 출력할 것인지에 대한 제약은 없다.
프로그래밍 요구사항
- 모든 로직에 단위 테스트를 구현한다. 단, UI(System.out, System.in) 로직은 제외
- 핵심 로직을 구현하는 코드와 UI를 담당하는 로직을 구분한다.
- UI 로직을 InputView, ResultView와 같은 클래스를 추가해 분리한다.
프로젝트 순서
1. README.md 파일에 기능 목록 단위 추가
- 생략 : 다음 프로젝트는 이거부터 하기
2. 설계 - Class Diagram 그리기
- 생략 : 추후 공부 후 그리기
3. 구현 & 구현 중 신경 쓴 부분
- Domain, View를 나눠서 구현
- Method 당 하나의 역할만 하게 구현
- OOP성격에 맞게 구현
- Domain 소스 모두 테스트 용이하게 구현
============================================
4. Review & Feedback
- this로 호출 가능한 생성자를 위에 올려 가독성 향상
- 계속 반복해서 쓰이는 값은 상수로 관리
- 변수명 축약 사용 금지
- 람다식 변수명 네이밍 제대로 하기
- 접근 지정자 관리
:
'50. Back-end > 55. TDD' 카테고리의 다른 글
1-4. 자동차경주 기능추가 (0) | 2022.10.30 |
---|---|
1-1 어쩌구 저쩌구 (0) | 2022.10.28 |
0-1. OT & MindSet & ETC (0) | 2022.10.19 |