diagnostics_no_duplicate_case_values 진단: switch에 같은 case 값이 반복될 때

diagnostics_no_duplicate_case_values 진단: switch에 같은 case 값이 반복될 때

Dart 분석기가 내보내는 진단에는 이름이 있어요. no_duplicate_case_values같은 switch 문 안에 두 개 이상의 case 절이 같은 값을 가질 때 분석기가 알려주는 진단이에요. 첫 번째 이후의 case 절은 절대 실행될 수 없으니 중복은 오해를 부르기 쉬워요.

출처: no_duplicate_case_values

본문

설명

분석기는 같은 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;
  }
}

더 알아보기