'switch-case' 구문은 너무 많은 코드 라인을 포함해서는 안됩니다.

 

switch 구문은 제어 흐름에서 일부 새로운 분기들을(branches) 명확하게 정의하기 위해서만 사용해야 합니다. case 문이 너무 많은 구문을 가지게 되면, 전체 제어 흐름에 대한 가독성이 급격하게 떨어집니다. 이러한 경우, case 구문 내의 내용들을 전용 메소드로 추출해야합니다.

규칙을 어긴 코드

기본 임계치 5에서:

switch (myVariable) {
    case 0: // 규칙을 어긴 코드: 다음 case 문까지 6줄이 존재합니다.
        methodCall1("");
        methodCall2("");
        methodCall3("");
        methodCall4("");
        break;
    case 1:
        ...
}

규칙을 준수한 해결책

switch (myVariable) {
    case 0:
        doSomething()
        break;
    case 1:
        ...
}
        ...
private void doSomething(){
        methodCall1("");
        methodCall2("");
        methodCall3("");
        methodCall4("");
}

If you like SONARKUBE, don’t forget to give me a star. :star2:

원문으로 바로가기

Star This Project