もっと便利にExcelを使いたい場合、Excel関数⇒マクロ(記録)⇒マクロ(コード)まで覚えていく上級ユーザが稀に存在する。さらに極稀にAccessの近い方まで覚えてしまうユーザが存在する。まあ一番すごいと思ったのは、IISを使用して、ASP(Active Server Pages)まで作った人だ。
システム開発を経験していない、そのようなユーザが作成した部署内のみのExcel、Accessツールとか、上記ASPをなおす機会が多いのだが、例外なくコーディングはアレだ。以下のような特徴を必ず備えている。
- 全く同じロジックを複数箇所で使用している(関数化されていない)。
- コード上に即値が多い。
- 関数名、変数名から役割が想像不可能。
- 字下げがない。
- コメントがない。
- 関数が戻り値以外の値をいろいろ変更する。
- エラーを考慮していない。
要はメンテナンス性を全く考慮していないのだ。その根底には動けばいいという思想が見える。
上級ユーザが作ったものはあくまでも、簡易ツールと割り切って、業務を依存させてはならない。その理由は、
- その上級ユーザがいつまでもそのツールをメンテしてくれるわけではない。異動してしまうかもしれないし、昇進してしまうかも知れないし、やめてしまうかもしれない。
- そのツールが予期しない動作をした場合、業務自体がとまってしまう。
ことがあげられる。
まあ単純に俺が面倒だからというのがあるんだが。