- Source: Gotcha (programming)
In programming, a gotcha is a valid construct in a system, program or programming language that works as documented but is counter-intuitive and almost invites mistakes because it is both easy to invoke and unexpected or unreasonable in its outcome.
Example
The classic gotcha in C/C++ is the construct
It is syntactically valid: it puts the value of b into a and then executes code if a is non-zero. Sometimes this is even intended. However most commonly it is a typo: the programmer probably meant
which executes code if a and b are equal. Modern compilers will usually generate a warning when encountering the former construct (conditional branch on assignment, not comparison), depending on compiler options (e.g., the -Wall option for gcc). To avoid this gotcha, some programming languages such include specific syntax for when this is desired behavior, such as Python's "walrus" operator (:=). In languages where this specific syntax does not exist, there is a recommendation to keep the constants in the left side of the comparison, e.g. 42
x rather than x
42. This way, using = instead ofwill cause a compiler error (see Yoda conditions). Many kinds of gotchas are not detected by compilers, however.
See alsoUsability
References Further readingStephen C. Dewhurst (2003). C++ Gotchas (Avoiding Common Problems in Coding and Design). Addison-Wesley. ISBN 0321125185.
External links ==C Traps and Pitfalls by Andrew Koenig
C++ Gotchas A programmer's guide to avoiding and correcting ninety-nine of the most common, destructive, and interesting C++ design and programming errors, by Stephen C. Dewhurst
Kata Kunci Pencarian:
- Gotcha (programming)
- Gotcha
- Python (programming language)
- Usability
- RPG Maker
- Comment (computer programming)
- Political gaffe
- Pixel Game Maker MV
- Icon (programming language)
- Tensou Sentai Goseiger