갓차 (프로그래밍)
Gotcha (programming)프로그래밍에서 gotcha는 시스템, 프로그램 또는 프로그래밍 언어의 유효한 구성물로, 문서화된 대로 작동하지만 직관에 반하며, 호출하기 쉽고, 결과에서 예기치 않거나 불합리하기 때문에 오류를 거의 유발한다.[1]
예
만일 (a = b) 부호를 붙이다;
그것은 구문론적으로 타당하다: 그것은 의 가치를 둔다.b
로a
그리고 나서 실행한다.code
만일a
0이 아니다.때때로 이것은 심지어 의도된 것이다.하지만 가장 흔한 것은 오타다: 프로그래머는 아마도
만일 (a == b) 부호를 붙이다;
실행된다.code
만일a
그리고b
동일하다[1]현대의 컴파일러는 보통 컴파일러 옵션(예: 다음과 같이)에 따라 이전 구조(배정 조건부 분기, 비교가 아닌 할당)를 마주할 때 경고를 생성한다.-Wall
gcc에 대한 옵션).이 gotcha를 피하기 위해, 예를 들어, 비교의 왼쪽에 상수를 두는 것이[2] 좋다.42 == x
보다는x == 42
. 이 방법, 사용=
대신에==
컴파일러 오류를 발생시킨다(요다 조건 참조).그러나 많은 종류의 고트카는 컴파일러에 의해 감지되지 않는다.[citation needed]
참고 항목
참조
추가 읽기
- Stephen C. Dewhurst (2003). C++ Gotchas (Avoiding Common Problems in Coding and Design). Addison-Wesley. ISBN 0321125185.
외부 링크
![]() | 무료 사전인 위키트리노에서 gotcha를 찾아봐. |
- 앤드루 코닉의 C 트랩과 함정
- C++ Gotchas Stephen C가 가장 흔하고 파괴적이며 흥미로운 C++ 설계 및 프로그래밍 오류를 99가지나 피하고 수정하기 위한 프로그래머의 안내서.드워스트