ソフトウェア設計で、レベルは3段階に分かれると思っている。

 

初級  正しく動く。最低限動くだけ。

中級  わかりやすい。操作性が良い。親切な表示。

上級  安全性。例外処理に対応。不測の事態に対応している。

 

 動かすだけならすぐ作れるけれど、他人が使用する場合は、思わぬ操作をしたり初歩的な部分で理解できていなかったり、する。

 

 たとえば、ファイルが壊れていた場合、途中で終了してしまった場合、OKとキャンセルを間違えた場合、禁止されている文字を入力した場合・・・。

 

 自分では思いつかないことを、するかもしれない。

 操作を理解していない初心者が触るかもしれない。

 

 それらを全て想定して作る。それが本当に大変なのだ。

 

 内部の問題としては、後で変更するかもしれない可能性を考え、わかりやすいプログラムにしておく。

 こちらはもう、技術と経験が物を言う。