Subject: assert vs BUG [was: [PATCH v1 05/10] cat-file: use delta_base_cache entries directly]

From: Eric Wong <[email-masked]>
Date: Sun, 18 Aug 2024 17:36:37 +0000

Eric Wong <[email-masked]> wrote:
> Patrick Steinhardt <[email-masked]> wrote:
> > We shouldn't use asserts, but rather use `BUG()` statements in our
> > codebase. `assert()`s don't help users that run production builds.
> 
> OK.

Thinking about this more, I still favor assert() in common code
paths since it's only meant to be used during development and
later removed or neutralized (via -DNDEBUG).

IOW, I treat assert() as scaffolding that can/should later be
removed once the code is proven to work well.  We also have
plenty of existing asserts in our codebase.

Furthermore, assert() is also a well known API which reduces the
learning curve for drive-by hackers (I still consider myself
a drive-by since my I do minimal C).