2011.02.08 marionnettezero
初めまして、marionnettezero です。所属部署はありませんが、営業チックな事を担当してます。
のっけから意味不明なタイトルでおおくりしておりますが、いちおう技術的な内容で書いていこうと思います。
「タイトルが気になった、そこのあなた!」
内容は続きからどうぞ
さてタイトルからは、まったく意味のわからない内容ですが、プログラムを作る上で必要不可欠な考え方のお話です。みなさん、なんだか想像できますか?
正解は、「エラー処理」についてです。
さまざまな言語で「エラー処理」を行う場合、みなさんどのように考えてプログラミングを行っていますか?
例えば、入力値のエラー処理として、半角の数値は許すが、全角の数字は許さない等、何を基準にしたらいいのでしょうか。これらは、設計段階で、もちろん決めておかなければいけない内容ですが、実際にプログラミングする人間も、もちろん考えなければいけない内容です。
なぜなら、入力値程度のエラー処理であれば設計段階でも、想像はできるでしょうが、メモリリークやリソースに関連するエラーになってきますと、なかなか設計段階では想像するのが難しい「エラー処理」もあるからです。
※ もちろん、設計段階で、あらゆる「エラー処理」、「例外処理」を想定できているのが望ましい事ではありますが、なかなか、そういう設計者はおりません。ですので、システム開発に携わるチーム員全てが、「エラー処理」を考えていけるのが、望ましいと思います。
さて、タイトルの「許すは神の技、許さざるは神の技」についてですが、
先ほどの例の入力値のエラー処理において、半角の数値は許すが、全角の数字等のその他の文字は全て許さないとした場合、あなたは何をもって、そう決定できますか?
「仕様がそうだから」、「お客さんにそう言われたから」
という内容で、あなたは、そうしてしまいますか?
自分が利用者にたった場合、半角の数値が入力でき、全角の数字を入力した場合は、自動的に半角の数値に変換してくれる方が、楽ではないでしょうか?また、使いやすくはないでしょうか?
しかし、自分がそう思ったからと言って、その他の人がそう思うとも限りません。
全角なんだから、エラーにしてもらわないと紛らわしい等と思う人もいるかもしれません。
そう考えると、「じゃあ、どっち?」
となりますが、まさに、そこが、「許すは神の技、許さざるは神の技」になるかと思います。
利用者の立場に立ち、最前手を考えながら、常によりよい決定を行って行く。それが、よい結果へと結びついていくのだと私は考えています。
今回は、このへんで。
see you.