非プログラマ向け 新元号だとシステム的に何が困るのか。

現段階では新元号がまだ定まっていないが、
システム改修などが1ヶ月ほどかかるということから、
先に公表するとか、当日公表するとかで、混乱している。

システム的な観点でいうと、前の設計者が適切にプログラムを組んでいたらすぐできそうな気もするが、
そうでない場合、一ヶ月で間に合わない気しかしない。

例えば、元号に番号を振っておき、
元号 = [
"1=>明治",
"2=>大正",
"3=>昭和",
"4=>平成"
]
と組んでいた場合、5=>新元号にすればいいじゃん、簡単簡単
とお気楽に考えても良いが、かならずこんな事をする人がいる[昔、そのシステムを組んでた人。大部分が定年済]。

*1 あ、ちなみに元号を入れる箱は4つまでしか入らんからそのつもりで。(配列の上限)
*2 あ、実はプログラムの中で、変数なしで決め打ちで元号名いれてたわ。すまん。(やっつけ的にデバッグした場合)
↓こんなの。
元号 = [
"1=>明治",
"2=>大正",
"3=>昭和",
"4=>平成"
]
//正 [ただし、明治より前の元号はないものとする上に、初期値に1より大きな数しか入らんとする。]
初期値=4
print "今の元号は"+ 元号[初期値]+"です。で、前の時代は"+元号[初期値-1]+"でした。"

//誤
初期値 = 4
print "今の元号は"+ 元号[初期値]+"です。で、前の時代は" + "昭和" + "でした。"

//出力結果
//正
今の元号は平成です。で、前の時代は昭和でした。
//誤
今の元号は平成です。で、前の時代は昭和でした。

プログラム的には何も問題無いため、こういうことをされると発見されにくい。
これが、新元号になり初期値を5にすると、こうなる。新元号を、絶対にないはずの大化になったとしよう。
元号 = [
"1=>明治",
"2=>大正",
"3=>昭和",
"4=>平成",
"5=>大化
]

//出力結果
//正
今の元号は大化です。で、前の時代は平成でした。
//誤
今の元号は大化です。で、前の時代は昭和でした。

プログラムでは問題ないので、正常にビルドされてしまう。
でも、実行してから問題がわかる。

こういうのがちりばめられているときついだろうな。

あ、あと、これもしないでもらいたいが、アルファベットがかぶっていないことを祈る。
M:明治
T:大正
S:昭和
H:平成
なので、MTSH以外が嬉しい。
もしかしたら番号ではなくてこんなことをしているかもしれない。

元号 = [
"M=>明治",
"T=>大正",
"S=>昭和",
"H=>平成",
"T=>大化 ←大正とかぶってうぎゃーとなる。
]