初めまして、marionnettezero です。所属部署はありませんが、営業チックな事を担当してます。

のっけから意味不明なタイトルでおおくりしておりますが、いちおう技術的な内容で書いていこうと思います。

「タイトルが気になった、そこのあなた!」

内容は続きからどうぞ

さてタイトルからは、まったく意味のわからない内容ですが、プログラムを作る上で必要不可欠な考え方のお話です。みなさん、なんだか想像できますか?

 

正解は、「エラー処理」についてです。

さまざまな言語で「エラー処理」を行う場合、みなさんどのように考えてプログラミングを行っていますか?

例えば、入力値のエラー処理として、半角の数値は許すが、全角の数字は許さない等、何を基準にしたらいいのでしょうか。これらは、設計段階で、もちろん決めておかなければいけない内容ですが、実際にプログラミングする人間も、もちろん考えなければいけない内容です。

 

なぜなら、入力値程度のエラー処理であれば設計段階でも、想像はできるでしょうが、メモリリークやリソースに関連するエラーになってきますと、なかなか設計段階では想像するのが難しい「エラー処理」もあるからです。

 

※ もちろん、設計段階で、あらゆる「エラー処理」、「例外処理」を想定できているのが望ましい事ではありますが、なかなか、そういう設計者はおりません。ですので、システム開発に携わるチーム員全てが、「エラー処理」を考えていけるのが、望ましいと思います。

 

さて、タイトルの「許すは神の技、許さざるは神の技」についてですが、

先ほどの例の入力値のエラー処理において、半角の数値は許すが、全角の数字等のその他の文字は全て許さないとした場合、あなたは何をもって、そう決定できますか?

「仕様がそうだから」、「お客さんにそう言われたから」

という内容で、あなたは、そうしてしまいますか?

 

自分が利用者にたった場合、半角の数値が入力でき、全角の数字を入力した場合は、自動的に半角の数値に変換してくれる方が、楽ではないでしょうか?また、使いやすくはないでしょうか?

 

しかし、自分がそう思ったからと言って、その他の人がそう思うとも限りません。

全角なんだから、エラーにしてもらわないと紛らわしい等と思う人もいるかもしれません。

そう考えると、「じゃあ、どっち?」

となりますが、まさに、そこが、「許すは神の技、許さざるは神の技」になるかと思います。

 

利用者の立場に立ち、最前手を考えながら、常によりよい決定を行って行く。それが、よい結果へと結びついていくのだと私は考えています。

 

今回は、このへんで。

see you.