반복되는 switch 문(Repeated Swtiches)

박상훈·2022년 8월 17일
0
반복해서 동일한 switch 문이 존재하는 경우 새로운 조건을 추가하거나
기존의 조건을 변경할 때 모든 switch 문을 찾아서 코드를 변경해야 할 수 있다

자바 11 이후의 LTS 버전(현재 17) 부터 switch expressions 를 지원하며
반복적으로 사용하되는 break 또는 임시 변수를 제거하고 사용할 수 있다

before

class Refactoring {
    public int vacationHours(String type) {
        int result;
        switch (type) {
            case "full-time": result = 120; break; 
            case "part-time": result = 80; break;
            case "temporal": result = 32; break;
            default: result = 0;
        }
        return result;
    }
}

after

class Refactoring {
    public int vacationHours(String type) {
        return switch (type) {
            case "full-time" -> 120;
            case "part-time" -> 80;
            case "temporal" -> 32;
            default -> 0;
        };
    }
}
profile
엔지니어

0개의 댓글