2.6 새 줄로 그루핑

    enum DistanceUnit {
    
        MILES, KILOMETERS;
    
        static final double MILE_IN_KILOMETERS = 1.60934;
        static final int IDENTITY = 1;
        static final double KILOMETER_IN_MILES = 1 / MILE_IN_KILOMETERS;
    
        double getConversionRate(DistanceUnit unit) { 
            if (this == unit) {
                return IDENTITY; 
            }
            if (this == MILES && unit == KILOMETERS) { 
                return MILE_IN_KILOMETERS;
            } else {
                return KILOMETER_IN_MILES;
            } 
        }
    }

    코드 블록이 서로 붙어 있으면 보통 한 덩어리로 간주합니다. 별개 블록을 새 줄로 분리하면 코드 이해도를 향상시킬 수 있습니다.

    위 코드는 마일과 킬로미터 간 변환률을 반환하는 enum을 보여줍니다. 실제로 코드 시맨틱은 괜찮은데 문제가 숨어 있습니다. 이미 2.1 매직 넘버를 상수로 대체를 적용했는데 무엇이 문제일까요?

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.