- 자동차는 이름을 갖는다.
- 자동차는 0-9 사이 랜덤 값을 구한 후 4이상이면 전진, 3이하면 멈춘다.
- 3항 연산자를 쓰지 않는다.
- else 예약어, switch/case 허용하지 않는다.
- 메소드 길이가 15라인이 넘어가지 않도록 구현한다
- 메인 메소드를 만들지 않는다.
- 테스트 코드 작성한다.
- n대의 자동차가 참여가능하다.
- 주어진 횟수동안 자동차 경주 게임을 완료한 후 누가 우승했는지 알 수 있다.
- 우승자는 한 명 이상일 수 있다.
- 나머진 1단계와 유사하다.
- 자동차에 이름 부여가능하고, 전진하는 자동차 출력할 때 자동차 이름을 같이 출력한다.
- 자동차 이름은 , 기준으로 구분하며 이름은 5자 이하만 가능하다.
- 메인 메소드를 추가한다.
- 모든 로직에 단위 테스트를 구현한다.
- mvc 패턴으로 리팩터링한다.
- 주석이 없어도 읽기 좋은 코드를 짜보자.
- 메서드가 한가지 기능만 갖도록 분리하다가 따로 관리하는게 좋을 것 같으면 클래스로 구현하자.
- 단위 테스트 핵심 원칙을 따르자.
- 개념에 머무르고 있었던 객체 지향적 개념을 활용하여 코드를 작성해보자.
- 발생할 수 있는 예외 케이스를 고려하여 방어적인 코드를 작성하고, 이를 테스트 코드로 확인하자.