단락 평가: Difference between revisions
From IT Wiki
(새 문서: ;Short-circuit Evaluation ;조건문에서 빠른 검사를 위해 연산자가 논리합이냐 논리곱이냐에 따라 조건의 일부만 검사하여 판정을 내리는 방식...) |
(→평가 방법) |
||
Line 9: | Line 9: | ||
** ex) if(a && b && c && d) 인 경우 a부터 평가하며 b가 false인 경우 c, d를 읽지 않는다. | ** ex) if(a && b && c && d) 인 경우 a부터 평가하며 b가 false인 경우 c, d를 읽지 않는다. | ||
* OR 연산일 경우 조건 중 하나라도 True 이면 뒤의 조건은 평가하지 않고 바로 True를 반환한다. | * OR 연산일 경우 조건 중 하나라도 True 이면 뒤의 조건은 평가하지 않고 바로 True를 반환한다. | ||
** ex) if(a || b || c || d) 인 경우 a부터 평가하며 b가 | ** ex) if(a || b || c || d) 인 경우 a부터 평가하며 b가 true인 경우 c, d를 읽지 않는다. | ||
== 활용 == | == 활용 == |
Latest revision as of 08:20, 23 May 2021
- Short-circuit Evaluation
- 조건문에서 빠른 검사를 위해 연산자가 논리합이냐 논리곱이냐에 따라 조건의 일부만 검사하여 판정을 내리는 방식
- 현대 대부분의 프로그래밍 언어에서 이를 지원한다.
평가 방법[edit | edit source]
- AND 연산일 경우 조건 중 하나라도 False 이면 뒤의 조건은 평가하지 않고 바로 False를 반환한다.
- ex) if(a && b && c && d) 인 경우 a부터 평가하며 b가 false인 경우 c, d를 읽지 않는다.
- OR 연산일 경우 조건 중 하나라도 True 이면 뒤의 조건은 평가하지 않고 바로 True를 반환한다.
- ex) if(a || b || c || d) 인 경우 a부터 평가하며 b가 true인 경우 c, d를 읽지 않는다.
활용[edit | edit source]
- 속도
- 조건의 검사에 부하를 고려하여, 부하가 낮거나 단락 처리될 가능성이 높은 조건을 앞에 배치하는 것이 유리하다.
- 테스트 및 에러 처리
- 선행 조건에서 단락 처리될 경우 후행 조건 평가 중 Exception이 발생할 상황에서도 실행을 안시키므로 Exception이 발생하지 않는다.
- 테스트 시 테스트 커버리지를 고려하여 모든 후행 조건이 테스트 될 수 있도록 해야 한다.