diagnostics_no_duplicate_case_values 진단: switch에 같은 case 값이 반복될 때
diagnostics_no_duplicate_case_values 진단: switch에 같은 case 값이 반복될 때
Dart 분석기가 내보내는 진단에는 이름이 있어요. no_duplicate_case_values는 같은 switch 문 안에 두 개 이상의 case 절이 같은 값을 가질 때 분석기가 알려주는 진단이에요. 첫 번째 이후의 case 절은 절대 실행될 수 없으니 중복은 오해를 부르기 쉬워요.
본문
설명
분석기는 같은 switch 문 안의 두 개 이상의 case 절이 같은 값을 가질 때 이 진단을 만들어요. 첫 번째 이후의 case 절은 실행될 수 없으니까, 중복된 case 절은 혼란을 주기 쉽죠. 이 진단은 흔히 오타나 상수 값의 변경 때문에 생겨요.
예시
아래 코드는 두 case 절이 같은 값(1)을 가져서 이 진단을 만들어요.
// @dart = 2.19
void f(int v) {
switch (v) {
case 1:
break;
case 1:
break;
}
}
흔한 해결 방법
절 중 하나가 다른 값을 가져야 한다면, 그 절의 값을 바꿔요.
void f(int v) {
switch (v) {
case 1:
break;
case 2:
break;
}
}
값이 맞다면, 문장들을 하나의 절로 합쳐요.
void f(int v) {
switch (v) {
case 1:
break;
}
}