1. 객체 생성이 필요없는 클래스에는 생성자 접근제어자를 private로 하자

public class Constant {
		...
		private Constant(){}
}

2. 불필요한 Wrapper 클래스 정의를 지양하자

public class RacingInfomation {
    private final Integer numberOfCar;
    private final Integer playCount;
		...
}

3. 인터페이스 분리의 목적을 생각하라.

: 인터페이스를 매번 분리하는것은 상속객체들의 복잡도를 증가시키기에 효율적이지 않다.

기능이 변경되거나 추가될 가능성이 있는 경우, 또는 짧은 시간내에 요구사항이 변경될 예정 인 경우에 인터페이스 분리를 하도록 하자.

4. 중괄호는 생략하지 않는것이 좋다.

Google Java Style Guide

5. View를 위한 기능이 도메인 객체에 있을 필요는 없다.

//worst case
public void go(RacingGame game) {
    if (allowMove(game.getNumber())) {
        skidMark.append("-");
		}
}