Hacker News new | ask | show | jobs
by yread 4429 days ago
My concerns are well addressed in the patch:

           if (b->d != NULL)
           {
2 comments

There's no need to explicitly include NULL in there, it buys you nothing.

Insisting on braces is a style concern, though it does seem to protect people from themselves to some extent.

If you're careful to use NULL only in pointer expressions, it can be used to indicate that a pointer is being tested, as opposed to any other sort of integer or boolean flag. You can justify it on grounds similar to Hungarian notation, giving the reader some contextual information that might otherwise require a look at a declaration somewhere else.

Code should be written for the benefit of humans, not compilers.

I agree, but the humans also need to be able to understand the code. I've worked in places where the ternary operator was banned because 'some people might not understand it'. This is silly.
Yeah, that's pretty goofy. Being intimidated by the ternary operator is how you know you should have gone into marketing instead.
I don't think you should be testing for truth implicitly like that, try

if ((bool(b->d != NULL) == true) { }

much better to be explicit, don't you think?

Assuming this is satire, LOL :)