コード設計
「CTPZ380810GM」
これは、2008年の10月、群馬工場で製造した、38インチ型プラズマカラーテレビであることを表現している。
「12522」
これは1252番に入社した人である。最後の2はチェックデジットといって、次のように算出して付加する。
1*9+2*8+5*7+2*6=72となる。この下1桁の2を取って最後に付加したものだ。こうすると、コンピュータにコードを打ち込むとき、間違えると90%の確率でセルフチェックができる。
コンピュータ室に伝票を運んで処理結果を印刷してもらうバッチ処理の時代には、コード設計が非常に重要だった。コード自体に意味を持たせて、なんとか覚えやすくしたり、記入ミスやタイプミスをしても自動的にミスが見つかるような仕組みを考えたりした。いくら工夫しても、扱う製品の種類が増えたりするとコード体系は破綻し、ものすごいエネルギーを使ってコード体系を再設計したりした。
今では、コードは単純に付ける。コード自体に意味を持たせず、分類は別に、必要に応じていくらでも細かくつける。社員番号を叩けば名前が画面に現れるからチェックデジットも付けないようだ。
さらに進むとコードレスになる。「カラーテレビ」と入力すると一覧が出て、そこから選べばコードを覚えていなくても入力できる。「片貝」と打てば、会社に一人しかいなければ、そのまま裏でコードを調べて、システム的には社員番号で保持する。
コードというのは、何かを特定するのにどうしても必要なユニークキーだが、人間には非常に馴染みにくい。バッチ処理の時代はその時代に合わせて、オンライン入力が当たり前の時代、リソースをふんだんに利用できる時代は、できるだけ人間に優しく、設計されなければならない。ユーザエクスペリエンス(使い勝手)が叫ばれているが、コードを人が知ることなくシステムを使えるようにする工夫も大事だ。