avoid_empty_else 린트 규칙: else 절에서 빈 문 피하기

avoid_empty_else 린트 규칙: else 절에서 빈 문 피하기

if 문의 else 절에서 아무것도 하지 않는 빈 문을 쓰면, 뒤이어 오는 문장이 조건부로 실행될지 예상 밖의 동작을 만들 수 있어요. 이 린트 규칙은 그런 빈 else 문을 잡아내서 명확한 코드를 쓰도록 도와줘요.

출처: avoid_empty_else

본문

설명

if 문의 else 절에서 빈 문을 사용하지 마세요.

BAD:

if (x > y)
  print('1');
else ;
  print('2');

else 절을 뒤따르는 문장을 조건부로 실행하고 싶다면, 매달린 세미콜론을 제거해서 그 문장을 else 절에 포함시키세요. 선택적으로 else의 문장을 블록으로 감쌀 수도 있어요.

GOOD:

if (x > y)
  print('1');
else
  print('2');

GOOD:

if (x > y) {
  print('1');
} else {
  print('2');
}

else 절을 뒤따르는 문장을 무조건 실행하고 싶다면, else 절을 제거하세요.

GOOD:

if (x > y) print('1');

print('2');

활성화 방법

avoid_empty_else 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 규칙을 추가하면 돼요.

linter:
  rules:
    - avoid_empty_else

대신 YAML 맵 문법을 사용해서 린트 규칙을 설정하고 있다면, linter > rules 아래에 avoid_empty_else: true를 추가하면 돼요.

linter:
  rules:
    avoid_empty_else: true

더 알아보기