>>30
俺は、公開する関数/変数にはコメントをつける。

- 前提条件として、何か別の処理が必要? (たとえば渡す配列はソート済みであることが要求されているとか)
- ポインタとして NULL を渡して良いのか? その場合の動作は?

とかはコメントに書かんと分からんもの。

それにいくら「コードを読めば分かる」とはいえ、関数が出てきたときに、いちいちその関数のコードを読んで理解
するのは、規模が大きくなると時間的に厳しくなる。個人的には、開発中のコードすべてに目を通して把握できる
のは C で数万行、それ以上になると他人がメンテナンスしているコードまで把握しつづけるのは、現実の開発ペー
スだと無理だなぁ。(開発が凍結されてるコードを読んで理解しろという話なら、もうちょい行けるが)

ただ、コードのステートメントに対しては基本的にコメントをつけない。こっちは「読めば分かる」ように、変数名や
関数名で処理内容を語らせて、トリッキーな記述はマクロなんかに押し込める。どうしてもコメントをつけないと意
図不明になる場合には「こう動く」ではなくて「こういう意図でコードを書いた」と記述しておく。「こう動く」というコメン
トだと、後でコードを読んだときにバグなのか意図してのコードなのか判断しづらいんで。