2000/03/08

ゼロ or いち or にぃ

コンピュータのデータは、極論、「0 or 1」であるのだが、ひらがなも表せれば英文字、数字、漢字も指定することが出来る。
しかし、それらは、全てゼロと1の組み合わせで「1」は「1」、「あ」は「あ」であると言う「約束」で決められているだけで、何も不思議な事じゃない。つまり、「1」と言えば、あるコンピュータの中では、必ず「1」を表すことと約束しているだけのことである。

さて、コンピュータシステムを開発する際にも、コンピュータの決めごと、約束事と同様に約束事を決めたりするし、決めないと非常に困った事態に陥ったりもする。

コンピュータシステムにおいては、「有り」「無し」、などと言う対(つい)になった状態を管理するのに、「ON」「OFF」などと言うような言い方で管理することがあります。(OK、NGとか)
その「ON」や「OFF」にどういう数字を割り当てるか?、なんてことも約束事で決めておかないと、ある処理では「ON」を「1」で表し、ある処理では「ON」を「0(ゼロ)」で表す、なんてことになってしまう危険性も十分にあると言うことに・・・

「まさかぁ〜、そんな馬鹿なこたぁ無いっしょ?」

と思われるかもしれませんが^^;、あるんです(きっぱり)

とあるシステム製造のメンバーとして参加した際に、このような事態に遭遇しましたが、私自身、その時まで「まさかぁ〜」と言うことすら思って無く、そんな決めごと、約束事は決められて守られているに違いない、と暗黙に思っていました。しかし現実は、オンライン処理システム開発部隊、オフライン処理システム開発部隊、と大きく二つの開発体制で開発していて、その双方の情報交換がほとんど皆無になされていなかった結果、オンライン側では「0,1」で管理し、オフライン側では「1,2」で管理する、と言う、をぃをぃ(--;)な約束事にしてしまっていたのです。この二つのシステムが全然関係ないものであるなら何にも問題ないのですが、同じデータベースを参照して、更新するために、とんでもない事態に・・・・

こんなことになっていても、プログラム記述において定数を利用しておけば大混乱にも成らずに気が付いた時点で、定数値を変更するだけで対応も可能なのですが、こんな約束事が統一出来ない開発チームたちがそんな気の利いたことをしているはずもなく、プログラムソースの中の記述に・・・

if(入金処理済み == 1)・・・

なんて記述がぁぁぁぁぁぁっ!!!!・・・(ー人ー)


一覧