언제 어떤 일을 할까
재고가 남아 있을 때만 대여를 진행하고 그렇지 않으면 다른 처리를 하는 프로그램을 생각할 수 있다. 조건문은 같은 명령을 무조건 이어 실행하는 대신 현재 상태에 따라 경로를 선택한다.
참과 거짓으로 해석하기
조건은 비교나 논리 연산으로 만들 수 있다. 어떤 값을 참이나 거짓으로 받아들이는지는 언어에 따라 다르다. 값이 비어 있는지와 숫자가 0인지 같은 조건들을 무심코 같은 것으로 취급하면 의도와 다른 분기가 생길 수 있다.
여러 조건의 순서
조건을 차례로 검사하는 구조에서는 먼저 성립한 조건이 뒤의 경우를 가릴 수 있다. 범위가 넓은 조건과 좁은 조건의 순서를 신중하게 정해야 한다. 경계값이나 어떤 경우에도 속하지 않는 입력도 함께 검토하는 편이 좋다.
중첩과 가독성
조건문을 지나치게 중첩하면 어느 경우에 어떤 코드가 실행되는지 파악하기 어려워진다. 조건을 명확한 이름으로 나누거나 실패하는 경우를 먼저 처리하는 등 여러 구조를 사용할 수 있다. 짧게 쓰는 것보다 조건의 의미와 실행 경로가 분명한지가 중요하다.