always_put_control_body_on_new_line 린트 규칙
always_put_control_body_on_new_line 린트 규칙
제어 구조의 표현식과 그 문장을 서로 다른 줄에 작성하도록 안내하는 린트 규칙이에요. 같은 줄에 적으면 관련 코드가 있다는 사실이 잘 안 보이거든요.
본문
flutter 저장소 스타일 가이드에서 가져온 규칙이에요:
DO 제어 구조의 표현식과 문장을 분리해서 작성하세요.
if, for, while, do의 문장 부분을 표현식과 같은 줄에 두지 마세요. 아무리 짧아도 마찬가지예요. 같은 줄에 두면 관련 코드가 있다는 게 명확히 보이지 않아요. 특히 early return(조기 반환)에서 이 부분이 중요해요.
BAD:
if (notReady) return;
if (notReady)
return;
else print('ok')
while (condition) i += 1;
GOOD:
if (notReady)
return;
if (notReady)
return;
else
print('ok')
while (condition)
i += 1;
이 규칙은 Dart formatter와 충돌할 수 있으니, Dart formatter를 사용할 때는 활성화하지 않는 게 좋아요.
Enable
always_put_control_body_on_new_line 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 always_put_control_body_on_new_line를 추가해 주세요:
linter:
rules:
- always_put_control_body_on_new_line
대신 YAML 맵 문법으로 린터 규칙을 설정한다면, linter > rules 아래에 always_put_control_body_on_new_line: true를 추가하면 돼요:
linter:
rules:
always_put_control_body_on_new_line: true