precedence guard

우선순위를 외우는 것보다 괄호로 의도 고정

연산자가 섞이면 컴파일러는 규칙대로 계산하지만, 사람은 쉽게 오해하므로 중요한 결합은 괄호로 표시한다.

group

의도 괄호

비교, 논리, 비트 연산이 섞이면 우선순위를 믿기보다 괄호로 묶는다.

explicit
assoc

결합 방향

대입은 오른쪽 결합, 산술은 대체로 왼쪽 결합처럼 평가 묶임을 확인한다.

associativity
convert

타입 변환

정수와 실수, signed와 unsigned가 섞이면 우선순위보다 변환 결과가 중요하다.

conversion
logic

단락 평가

&&와 ||는 오른쪽 식이 실행되지 않을 수 있어 부작용을 넣지 않는다.

short circuit
검토

연산자 우선순위 읽기 기준

한 번에 해석하기 어렵다면 중간 변수로 나눠 디버깅 가능성을 높인다.

split expression