日頃から当たり前のように「Webに自動アクセス→情報集積」のツールを作り、使っている私であるが、副作用が出てきた。コードが汚くなってきたのである。コンピュータネタ、目次へ
何故かという原因ははっきりしている。RPAのツールにバグが出たとしても、それはサイトを作っている先方の事情に依る場合が決して少なくなく、特にある程度こちらの技量が向上すると、だいたい「アプリケーション側の想定外のデザイン」ということが多い。
まあ、どこやらのRPAツールセミナーであったサンプルプログラムの作成はひどすぎ、いきなりGoogleのロゴを選んでアンカーとした。おい、あなたはバレンタインにチョコもらったことないのか?記念日にはロゴが変わるからそういう日にはそのツール動かないぞ。
これは極端な例としても、場合によって画像やHTMLの記述が違い、動かないのはそれが原因、ということは月並み的に起り得る。というわけで「予想外のことあったからこうするか」とその場しのぎのIF文を入れて凌いだりする。例えば鉄道経路検索、検索対象の駅が「大手町」であれば「大手町(東京)」と変換する、とかしちゃいそうでしょ。そういうロジックになれると設計をしっかりやるのがバカらしくなり、つまりロジックがいい加減になる。それで通用しちゃうんだよねえ。結局は「現物合わせ」なのだから。
(ちなみに私が最初に作った経路検索というか運賃取得ルーチンは、検索予定データをそろえたところで、駅コードに手元で変換し、同名異駅があった際はちゃんと印をつけて確認が容易なようにするのよ。ここまでやれば後は止まらずにイケる。ちなみに日本の城郭の構造上「大手門」は普通に存在し、それを考えると「大手町」という駅が日本に二つしかないのはものすごく少ない。)ということで、プログラミング教育途上の、そうでなくても設計して実装する、の流れが習慣になってないのがRPAなんぞに手を染めるとソフトウェア開発者としてろくなことになりそうもない、というのは「ものすごくありそうなことである」。
そういう点ではアジャイル開発も「正統的な対応が無意識にできる」ようになるまでやらせちゃダメなのよ。なにしろ私もエラー不感症になったくらいだから。久々に普通のツール作ってたら、テストがおろそかになってしまっていた。「エラーが出た時直しゃあいいや」。