assertを書け

とだけ言っておこう。まず、書け、と。

その心

ユニットテストなんてとんでもない。関数化もままならない。グローバル変数だらけ。あー分かりましたよ。どうしようもないっていうんでしょ。でもassertなら書けるでしょ。関数概要のコメント書かなくていいからassert書いて。テストを重視するのと、関数仕様を明確にする習慣の第一歩として。

ちょっと待て

assert.hでググられる複数のサイトに以下のようなことが書いてある。

以下のようにすれば無効化されます。
#define NDEBUG
#include 

そりゃそうだけど、NDEBUGをソース上に静的に定義したら、再びassertを有効化するのにソースを直さなきゃいけないじゃないか。そんなの駄目だよ。自分で実際に使い込んでないのみえみえじゃん。