unnecessary_parenthesis 린트 규칙: 불필요한 괄호 없애기
unnecessary_parenthesis 린트 규칙: 불필요한 괄호 없애기
코드의 의미를 바꾸지도 않고 가독성도 좋게 만들지 않는 괄호는 불필요해요. 이 린트 규칙은 그런 괄호를 잡아내서 표현식을 더 깔끔하게 만들어 줘요.
본문
설명
필요하지 않은 괄호는 사용하지 마세요.
BAD:
a = (b);
GOOD:
a = b;
괄호는 코드의 의미를 바꾸지 않고 가독성도 높이지 않을 때 불필요하다고 판단돼요. 목표는 모든 개발자가 우선순위 표(expression precedence table)를 머릿속에 외우게 만드는 게 아니에요. 그래서 두 번째 조건(가독성 개선)이 포함되어 있어요. 이 조건에 해당하는 예시는 다음과 같아요.
- 계단식 표현(cascade expressions) — 계단식 표현의 대상이 무엇인지 때때로 명확하지 않아요. 특히 대입이나 중첩된 계단식이 있을 때 그렇죠. 예를 들어
a.b = (c..d)같은 표현식을 말해요. - 토큰 사이에 공백이 있는 표현식 —
!await foo같은 표현식은 유효하면서도!(await foo)와 같은 의미인데, 그렇게 보면 아주 이상해질 수 있어요. - 논리 표현식 — 괄호는 우선순위로 정해진 묵시적 그룹핑의 가독성을 높여줄 수 있어요. 예를 들어
(a && b) || c && d같은 표현식을 말해요.
활성화 방법
unnecessary_parenthesis 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 규칙을 추가하면 돼요.
linter:
rules:
- unnecessary_parenthesis
대신 YAML 맵 문법을 사용해서 린트 규칙을 설정하고 있다면, linter > rules 아래에 unnecessary_parenthesis: true를 추가하면 돼요.
linter:
rules:
unnecessary_parenthesis: true