今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

自業自得

今年の7月のこと。某にカメラ監視システムの設定を依頼した。カメラ監視システムで使っているカメラのリアルタイム画像を表示するアプリケーションには設定ファイルがあり、画面上の表示位置を指定できるようになっている。彼は、なぜか座標に小数を指定していた。たまたまそのアプリケーションは、小数以下を無視するようにできていたので、問題なく動作した。
そのアプリケーションは某社に作らせたもので、あちこちで稼動させるにつれいろいろと問題が発覚してきた。コードを確認したところ、まるで初心者が作ったようなコードだった。作り直しには耐えられそうにないと判断し、全体を作り直すことにした。彼は、11月からそのカメラのリアルタイム画像を表示するアプリケーションの作り直しをしてきた。
アプリケーションを作り直すにあたって、最も注意が必要なのは設定ファイルの互換性だ。既に多くの場所で稼動しているため、設定ファイルの互換性を完全にしておかないと、いちいち設定ファイルを書き直さなければ正常に動作しなくなってしまう。
そして、明日はいよいよ、彼が作ったアプリケーションが稼動開始する。
パソコンを用意し、明日稼動しているところと同じ環境を用意した。そして彼が作ったプログラムを上書きしようとした。既存のアプリケーションがあるフォルダに貼り付けると、何の警告もなく貼り付けができた。
ファイル名が違っていたのだ。いきなり不安になる。このアプリケーションは、別のアプリケーションから起動されるのに、ファイル名が違っていては古い方のプログラムが起動されてしまう。
とりあえず、手作業でファイル名を変更して、別のアプリケーションから起動させてみる。しかし、アプリケーションが表示される位置が違っている。Y座標が読み取れてないようだ。設定を確認すると、Y座標に「140.5」のように小数が書かれている。
彼が書いたコードを確認すると、小数には対応していなかった。しかたなく、座標の設定を読み込む部分なのに、小数も読めるように変更しなければならなかった。
まるで「自業自得」の見本のような例だ。