2002年07月18日 木曜日

今日は所要のため札幌へ行く

今日は所要(戸籍謄本(うちの本籍地は札幌市)の取り寄せと父の車の処分の準備)のため、札幌に行った。札幌によく行っていたのはもう10年くらい前だけれども、あまりの変わりようにびっくりである。札幌ドームが出来たせいか、月寒あたりがすっかりでかい町並みになっていて、一体全体どうしたものかと思ってしまった。

バグを出さない?

北海道に戻ってくる時に暇つぶしに購入した 「日経ソフトウェア 2002年8月号」を時間が出来たのでつらつら読んでいるのだが、あまりにもつまらん。仙台空港で売っていた開発系の雑誌ってこれしかなかったので仕方なく買ったのだが、やっぱダメだ。僕の性に合わない。
特集は「バグを出さないプログラミング手法」と言う事なのだが、なんか違うような気がする。バグってなんですか?と言う問いをちゃんとしておかないと、禅問答のような物になってしまうのではないか?
僕は、バグって言うのは仕様と実装のずれと言う認識を持っているのだが、こう言うのは人間が考えて作っていくものだから良くあるものとして捕らえて、自分が書いたソースを見て、ひたすら可読性をあげるとか、再利用性をあげるとか、可搬性を高めるとかいった努力と副作用のない仕様をきちんと書く(考える)能力が必要なんでないのと思ったりしたわけだ。だから、「バグを出さない設計」ではなくて、「バグを直し易い設計」をどうするかと考え直すべきではないかと思うわけだ。あまいですかね。
Extreme Programming(XP)で言うところのRefactoring(プログラムの外部仕様を変更せずに、内部構造を安全に変更する事(でいいのかな))に関しては、方法論としては面白いと思うし、よくやる事なので体系的に勉強してみていいかもと思ったわけだけども、この手の雑誌で斜め読みじゃ駄目だな。ちゃんとXP関連の本を読みたいのう。
それにしても、Windows系の開発関連の記事でよく見かける「ハンガリー記法」(例えばint型の変数名には接頭辞iを付けるとか言う奴)なんですが、使っているものなのか? こんな物を使わなくても可読性の高いコードを掛けるような気がするのは僕だけなのかな? 誰か教えて! あとC++のSTLを使っている場合って、doubleのArray型とかが書けるんですが、この場合の接頭辞ってどう付けるのさ? と言う事で簡潔な物で良いんじゃないと思ったりしたわけだ。