I am really astonished by the capabilities of static code analysis. The tool surprised me the other day as it turned out to be smarter and more attentive than I am. I found I must be careful when working with static analysis tools. Code reported by the analyzer often looks fine and I'm tempted to discard the warning as a false positive and move on. I fell into this trap and failed to spot bugs...Even I, one of the PVS-Studio developers.
So, appreciate and use static code analyzers! They will help save your time and nerve cells.
[Ed note: I debated running this story as there was an element of self-promotion (aka Bin Spam), but the submitter has been with the site for a while and has posted informative comments. Besides, I know there have been far too many times when I've seen a compiler complain about some section of my code and I'm thinking there is nothing wrong with it — and then I, finally, see my mistake. Anyone have samples of code where you just knew the compiler or static analyzer was wrong, only to find out otherwise? --martyb]
(Score: 2) by bzipitidoo on Monday October 23 2017, @11:26PM
Compiler error messages are always stupidly obtuse, when they bother to say anything at all! "Bad Lvalue!" WTF? ALGOL is dead, stop using ALGOL concepts in the error messages! And stop thinking there's no room for more comprehensible error messages, this is not the 1960s anymore, when 1K was a lot of memory. Could the compiler at least spell it out, you know, say "left value" instead of "lvalue"? Maybe even "the expression on the left side of the assignment operator"?
And, leave out one tiny little semicolon or brace, and the compiler goes nuts. Thinks ill of every line after such an insignificant error and spams the programmer with a lot of useless and untrue error messages. It's like the compiler is trying to make the real error message scroll off the top so the programmer can't read it! If a compiler like that was a 1st grader, it would've been diagnosed with autism and ADHD the first time it had such a huge meltdown over a bit of missing punctuation.