(38) 問題解決手法
最近このサイトの存在が同僚にも客先にもバレバレのさるですこんばんは。
本サイトは日頃の生活の中では言えないプログラム回りのうんちくやら不満やらを書き連ねているといぅ性格もありますので、正直実生活上の知人に読まれるのはツラいものがあります。
また「説教くさい」って思われちゃうよ…(T-T)
えー、先日、現在の仕事とはちょっと違う切り口で別のシステムのバグフィックスのお手伝いをしまして。
「どうもソート→検索が正常に動作しない」って話だったんですよ。
調べてみたら、DBはUNICODE、フロントエンドはSHIFT-JISで文字コードを処理していたんですね。
ソートはSQLで投げていましたのでUNICODE基準でのソート。検索はフロントエンド内で行っていたのでSHIFT-JISの文字コードでの大小比較。
これがどぅ弊害になるかといぅと。
半角カナの扱いが、UNICODEでは漢字領域の下、SHIFT-JISでは漢字領域の上にあるもんですから。
ソートした時に半角カナは漢字よりも下に位置付けられ、検索で半角カナを探そうとすると、漢字が出てきたところでストップするわけです。
これ自体は、まぁバージョンアップものにはよくある話。
で、この事象への対処なんですが。
私としては、コード体系を統一すべきだと思ったんですよ。UNICODEかSHIFT-JISのどちらかに。
てことはソースコードを全部UNICODE対応に修正するか、DBをSHIFT-JIS用にインストールし直してデータを全部コンバートして突っ込み直すか。
うわ、どちらにしてもけっこうな手数。大変だよなー。
てことを調査結果として伝えたところ、そのシステムの担当者の出した対処策は、
「そのフィールドには半角カナしか入力するな」とマニュアルに追記。
…いいのかそれで。
いや。確かに現実的な対処なんですよ。
作業工数は基本的に1人日単位でたいした金額がトビます(社内工数を使っても、見えない形で持ち出しになるのは同じです)ので、なるべく無理のない解決策のうちもっともコストがかからない方法を考えるべきなんです。社会人としては。お互い利益収益を目的とした組織に所属して作業しているわけですし。
また、「半角カナしか入力するな」といぅ指示自体も、その入力欄の性質からあまり無理のない但し書きではあるんです。事実調べるまで、そこのデータに漢字が含まれているなんて誰も思いませんでしたから。
「漢字入れる方が悪いよ」って、まぁそれもそのとおりなんですが。
でも、やはり。私としては、
エンドユーザの不適切な操作をもフォローできるシステムを作りたい。
と思ってしまうですよね。
特にパッケージやオンラインソフトなどの、どんな操作スキルを持ったどこの誰が使うのかわからないようなモノを作る場合には。
ほんとは上記担当者のような発想を持って的確俊敏に対処するのがベターなのはわかっているんです。
そうしなきゃいけないんだけど。
でも、やっつけ仕事は心がすり切れます。
一度じっくり、完成度の高いシステムを作ってみたいなぁ。
→いつか、できるんでしょうか。
→見果てぬ夢、なんでしょうか。