2002-07-11 [長年日記]

珍しく仕事での話。といってもちゃんと仕事しているのが珍しいという話ではない。断じて。これまでに何度か書いたかもしれないのだが、私はプログラムで飯を食っている。といっても箸の代わりにプログラムということではない。断じて。そして食べるのはスパゲティーだ。ってそれはもういいってばさ。

今の仕事ではC言語を主に使っているのだが、C言語には型に名前を付ける(本当は微妙に違うのだけど)機能があって、例えばtypedef int boolとするとboolという型を使うことが出来るようになる。実質boolとintに違いはないのだけれど通常boolと名前を付けたらbooleanな(値として真と偽しかとらない)型として用いる。要するにその用途に応じて名前を付けると分かりやすいよ。とそういうことだ。それだけでもないのだけれど。これを踏まえて以下を読んでいただきたい。

仕事のプログラムというと一人で書くということは非常に稀であるので、人の書いたプログラムを見ることが多々あるのだけれど、やはり他人の書いたプログラムは読みにくい。この日も(ってつい先ほどのことだけれど)、愚痴をたれながら人のプログラムを眺めていたのだがそこに奇妙な記述を見つけた。

typedef char B;
typedef short H;
typedef long W;

むむっ。もしやこれはすりーさいずというやつでは。って私は何のプログラムを書いているというのだ。それに、型がおかしい。Bは-128〜127でHは-32768〜32767で、Wは-2147483648〜214783647ってどんなウェストだ。第一マイナスって。まあ、無闇に符号無しを使うのはあれなので、全部shortにしなさい。charじゃドラえもんの胸囲は表現できないもんね。いや本当のところは、B->Byte,H->HalfWord,W->Wordの略なんだろうけど。