定数マクロの名前

先週は客先検査でいろいろありえない会話があって哀し楽しかった。

いちばんの傑作はあれかな、「ポート番号とソケットってどう違うんですか」とサブシステム統括してる人(窓口だけど)に聞かれたことかな。さすがに絶句してしまった。それを判らずにどうやってあの仕様書を書いたのかが不思議でならない。テンプレートでもあるのかな。

あと上位システムのヘッダファイルを見せてもらう機会があって(というか本当は実装している時に貰わないといけなかったのだけど、今更やってきた……)、まあ一応確認しておこうかと目を通していたらこんな感じの定数マクロが定義されていた。

#define CONSTANT_8   8
#define CONSTANT_16  16
#define CONSTANT_50  50
#define CONSTANT_100 100

脱力。コンピュータジョークの一つを思い出した。

FORTORUN

DATA文の主な目的は、定数に名前を付けることである。
円周率πを使うたびに3.141592653589793と記述する代わりに、
変数 pi にDATA文を使って値を割り当て、
毎回 3.14...という長い定数を記述する必要なく
pi を使うことが出来る。
さらに、円周率が変わった場合に、プログラムの変更が
容易になるという利点がある。

円周率はもしかしたら変えたくなることがあるかもしれないけど(ないか)、100を101に変えたくなったとして、どう考えても名称も変えないとおかしいし、そうすると使用している全ての箇所を修正だ。しかもただ 100 と書くより長い。そもそもその 100 って何なのか。% かほにゃららデータの最大数かテストの満点か。

なんぼか問いただそうかと思ったけど控えた。我ながら大人の対応。