Code Smell 12 - Null
10 October, 2022
4
4
0
Contributors
TL;DR: Null is schizophrenic and does not exist in real world. His creator regretted and programmers around the world suffer it. Don't be a part of it.
Problems
•
Coupling among the callers and the senders.
•
Mismatch among the callers and the senders.
•
If/Switch/Case Polluting.
•
Null is not polymorphic with real objects. Hence, Null Pointer Exception
•
Null does not exist on real world. Thus, it violates Bijection Principle
Solutions
•
Avoid Null.
•
Use NullObject pattern to avoid ifs.
•
Use Optionals.
Sample Code
Wrong
Right
Detection
Exceptions
•
Tags
•
Conclusion
•
More info
Credits
I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.
cleancode
null
nullsafety
codesmell