2014年4月5日土曜日

プログラミングのプロとアマの違い「例外処理」

えー、僕も仕事でプログラミングをそれなりにやって来ましたけれども、よくプログラミングの初心者向けの解説サイトとか書籍とかを見てますと、プログラミングって結構簡単に見えるんですよね。まあ、その時点でついていけない人もかなり居るとは思いますけれども、人には得意不得意がありますので仕方ないです。僕が言いたいことは、細かい作業が得意なタイプの人からすると結構簡単に見えるってことですよ。

しかしながら、そういった初心者向けの解説サイトとか書籍には、大抵の場合すっぽりと抜け落ちているものがあります。これはサイトの製作者や書籍の著者たちがうっかり屋さんとかドジっ子なのではなくて、「わざと」抜いてある部分があるのです。それはなにかと申しますと、この投稿のタイトルでお分かりだと思いますが「例外処理」です。

つまりですね、そういう初心者向けの解説サイトとか書籍に掲載してあるサンプルコードには、ある目的を最短距離で達成するコードのみが載っているのであり、ユーザが予想外の操作をしてきた時にエラーにならないようにするための、あらゆるパターンを先回りしてケアするためのコード、すなわち例外処理のコードなんぞ載せてはいないのです。

ですが、この例外処理のコードをいかに抜け漏れ無く、エラーを起こしたりクラッシュしたりしないように書けるかが、プロに求められるプログラミングのスキル(の1つ)だったりします。だいたい、ちょっと自分用に動けばいいプログラムとか、クラッシュしても誰も困らない使い捨てのプログラムだけを作るのであれば、こんなにラクなことはないのです。つまり例外処理こそがプログラミングのプロとアマチュアを分ける最大の違いの1つと言うことが出来るでしょう。

これは、プログラムを依頼する側に、「アレとコレができればいいだけなんだから簡単でしょ」とか勘違いする人が後を絶たない理由でもあります。例外処理のことなど全く考えていない連中からすると、実装しなければいけないロジックは実に単純に思えるのです。しかしながら、例外処理があるのと無いのとでは、ロジックの総量は何倍も違うのです。それを理解しないくせして、無茶苦茶な使い方をして動かないとなると「こんなプログラムは使えない」と文句を垂れるんでしょう。そういうもんです。

もちろんプロとして例外処理はきちんとやるんですけれどね。まあ、実際に仕事としてプログラミングをやったことがある人以外では、この部分の大変さを理解してる人は少ないと思います。

※この記事について指摘・意見・提案・感想などありましたら下のコメント欄にどうぞ。

0 件のコメント:

コメントを投稿