With a codebase this big, it’s more common to use offensive programming - put asserts all over the place, catch bad values as early as possible and stop the show to force other programmers to fix their underlying cause right away. Otherwise you’ll have a growing web of hidden issues that are compensated for by the defensive programming until it explodes completely.
1 Like