2006-09-20 サラサーティ2―その4―
サラサーティ2の作業を再開しました。なんだかんだ言って6か月間,作業を放置してしまいました。どうも状況が芳しくなかったので,しばらく寝かせてみることにしたのです。味噌や漬物ではありませんが放置しておくと,いい味が出せるものなのです。
時間を置いてみて,いくつか分かったことがあります。諸問題と解決方法の案を整理することにします。
ボトムアップの弊害
まず「設定項目が多すぎる」のをなんとかすることにしました。なぜ複雑になってしまったのでしょうか。しばらく原因に気づけなかったのですが,寝かせてみたら「ボトムアップの弊害なのかも」と気づきました。
サラサーティ2は古いものを土台に,あとから上部をくっつけた格好になっているのです。
サラサーティ2の前にはサラサーティ1がありました。サラサーティ1の前に,さらに原始サラサーティとも言うべき実装物が存在していたのです。サラサーティ開発の動機は,原始サラサーティの動作を表にしたりグラフにしたりして,見やすくすることですので当然といえば当然です。
原始サラサーティは,すでに1年以上の運用実績があります。当初は必要だと思っていたけれど,実際に使ってみたらいらない機能がちらほら。サラサーティ2から,そのいらない機能を取り除き簡略化を図ることにします。
誤った操作に対する耐性の向上
「壊れにくくすること。壊れても修復しやすいこと」をより意識することにします。従来は内部状態が壊れたまま,ずるずると使い続けられるようになっていました。
いちばん気になっていたのは,レコードの識別値にMD5(Message Digest Algorithm 5)を使用していたことでした。MD5の詳しい説明は省略しますが,「3434EF0BCD678D56E9AB78915ACF0122」みたいな文字の羅列を識別値にしていたのです。
一意な値を作るのに便利だったのですが,元のデータが変わると識別値もコロっと変わってしまう性質がありました。元のデータを変えるという操作は通常ではありえないのですが,途中で書き換えられた方が便利なこともあり,そのままにはできなくなりました。
そこで識別値をMD5ではなくて,時間由来の連番値に置き換えることにしました。
ActiveXを積極的に導入
Macintoshプラットフォームの完全な切り捨てを意味します。
ActiveXとはWindows特有のソフトウェアの再利用技術です。当初はMac対応を前提としており,ActiveXを一切使わないで開発を進めていました。ところが後々の調査でMac版のExcel VBAは(Windows版と比べると)性能が低く,関わっていると生産性を損なうことが分かりました。
Mac版のExcelをもっと早い段階で分析しておくべきでした。反省しています。