Zen of Defensive Programming: Compilers and Compatibility
Your job is not to try and outsmart the compiler. Your job is to ensure you get the implementation right. The compiler’s job is to build the best possible executable code for it. Here are ways to make your code better and more compatible.