3 ms·
My experience on this project was that the checks proved to be useful way before I could run the program for the first time. The first version of the code had
by oraziorillo 4mo ago
My experience on this project was that the checks proved to be useful way before I could run the program for the first time.
The first version of the code had relatively few null checks. Later I went through and added them consistently at function boundaries, and that process ended up revealing a surprising number of bugs and bad assumptions.
Sanitizers and static analyzers could have surely caught many of these issues later, but adding the checks was a useful way to reason about the code while writing it. It felt less defensive and more proactively preventive.
- srean 4mo agoYeah you can have a lighter work desk that way. You bring in the heavy tools later.
- uecker 3mo agoInterestingly, I would see it just the other way round. It is easier for me to reason about the code if it not cluttered with null checks and a null sanitizer is I would see as a very light-weight tool. I may put an assert some once in while if such an assumption needs to be made very explicit.