Not operator is our friend. Not not operator is not our friend
Problems
- Readability
Solutions
- Name your variables, methods and classes with positive names.
Sample Code
Wrong
Right
Detection
This is a semantic smell. We need to detect it on code reviews.
We can tell linters to check for Regular Expressions like !not or !isNot etc as a warning.
Tags
- Readability
Conclusion
Double negation is a very basic rule we learn as junior developers.
There are lots of production systems filled with this smell.
We need to trust our test coverage and make safe renames and other refactors.
Relations
More info
Credits
Photo by Daniel Herron on Unsplash
It’s harder to read code than to write it.
Joel Spolsky
Top comments (5)
Unrelated, but from the title, I thought the article would be about the
!!
double negation operator, which gives a simple way to check if an integer is non-zero. In C:That's a very basic trick, but I like it :)
That is another code smell!!
I will write about it soon
Haha, I have to admit it's not the most readable piece of code :)
Funny thing. You already found out it smells :)
When working with PKI certificates, is it OK to use NotBefore and NotAfter fields, or shall I rename them as AtOrAfter and AtOrBefore?