/java-racingcar

자동차 경주용 게임을 관리하는 저장소

자동차 경주 게임

진행 방법

  • 자동차 경주 게임 요구사항을 파악한다.
  • 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 코드 리뷰 요청을 한다.
  • 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
  • 모든 피드백을 완료하면 다음 단계를 도전하고 앞의 과정을 반복한다.

온라인 코드 리뷰 과정

기능목록

(step3)

*초간단 자동차 경주 게임을 구현한다. *사용자는 몇 대의 자동차로 몇 번의 시도를 할지 입력값을 받는다. *자동차는 전진 또는 멈출 수 있다. *랜덤값의 범위는 0 ~ 9 사이의 값이다. *4이상인 경우 전진한다. *입력값을 주어 이동거리를 설정할 수 있어야 한다. *이동거리에 따라 "-"를 생성한다. *자동차의 상태를 화면에 출력한다.

(step4)

  • 각 자동차에 이름 부여할 수있어야함 -단, 5글자 초과X -입력값에서 자동차 이름의 경우 ‘,’를 기준으로 구분
  • 자동차 이동거리 출력시 이름도 같이 출력
  • 자동차 경주 게임 완료후 가장 position이 높은 우승자 출력 -우승자는 한명이상

(step5)

  • 핵심 비지니스 로직을 가지는 객체를 domain패키지, UI 관련한 객체를 view패키지에 분류
  • MVC패턴 기반으로 리팩토링해 view 패키지의 객체가 domainn패키지 객체에 의존할 수있지만, domain패키지의 객체는 view패키지 객체에 의존하지 않도록 구현한다.
  • 테스트 가능한 부분과 테스트하기 힘든부분을 분리해 테스트 가능한 부분에 대해서만 단위 테스트를 진행한다.