대입 혼동
if (score = 60)
비교 의도
if (score == 60)
비교 결과, 논리 조합, 단락 평가를 한 번에 쓰기보다 작은 bool 표현으로 나누면 대입 실수와 범위 조건 오류를 줄일 수 있다.
if (score = 60)
if (score == 60)
0 < x < 10
(0 < x) && (x < 10)
a == b
std::abs(a - b) < EPS
`ptr != nullptr && ptr->ready`처럼 먼저 보호 조건을 둔다.
`&&`와 `||`가 섞이면 의도 단위를 괄호로 고정한다.
`!(a && b)`와 `!a && b`는 완전히 다른 조건이다.
단락 평가로 뒤 함수 호출이 생략되어도 되는지 확인한다.
읽기 기준 좋은 조건식은 각 비교가 true 또는 false를 만든 뒤, `&&`, `||`, `!`로 문장처럼 연결된다는 구조가 눈에 보인다.