開発段階でエラーを隠すなぁ

前々から思っていたことですが、たまたま以下の記事を見つけたのでこの際書くことに。

[.NET] Re: 例外について (biac の それさえもおそらくは幸せな日々@nifty 2009/8/10)Link

これ、全面的に同意。今やってる仕事である人がやった部分には以下のようなのが至る所に。
public bool f1(MyEnum anEnum)
{
  try
  {
    if(anEnum == MyEnum.Item1) return true else return false;
  }
  catch(Exception)
  {
    /* なにもないよ~ */
  }

  return false;
}
関数1行目がtry。勘弁してよ関数全部例外無視ってorz if文で値比較するだけのどこに例外が出ること恐れてるのよ、むしろ出たときの方が知りたいぞ。

別の先輩の話。Visual BasicにはOption ExplicitLink という機能がありまして、これを指定すると全変数をあらかじめ宣言しないとコンパイル時にエラーを出すというもの。一見面倒くさくなるだけの機能に思えますが、変数名の打ち間違えを未然に防いでくれるLink ので、この辺で悩んだ事のある人には便利な機能のはず。Visual Studioでは新しいVBファイルを作るたびに自動的にこの行を入れてくれる設定があります。ところが彼は「Option Explicitを削除するとコンパイル時のエラーが減るんですよ」と、耳寄り情報のように教えてくれたそうで。

製品としてリリースした後ならともかく、開発時やら説明すれば理解してくれる限定ユーザー向けならば、エラーは恐れずどんどん表示してください。放置すると後で分けの分からない現象に悩んだり、たまたま動いているプログラムで満足しているといいプログラマーにはなれないと思います。お願いします、本当に… (直すこっちが迷惑だorz)

[2010/8/31 追記] 前者「関数1行目がtry」な方が書いたコードを久しぶりに見直したら、以下の部分が orz 意味が無いにも程がある。関数の書き始めはtryが癖になっているらしい。
public void foo()
{
  try
  {
    処理
  }
  catch (Exception e)
  {
    throw e;
  }
}

— posted by mu at 02:44 pm   commentComment [0]  pingTrackBack [0]

この記事に対する TrackBack URL:

設定によりTB元のページに、こちらの記事への言及(この記事へのリンク)がなければ、TB受付不可となりますのであらかじめご了承下さい。

コメントをどうぞ。 名前(ペンネーム)と画像認証のひらがな4文字は必須で、ウェブサイトURLはオプションです。

ウェブサイト (U):

タグは使えません。http://・・・ は自動的にリンク表示となります

:) :D 8-) ;-) :P :E :o :( (TT) ):T (--) (++!) ?;w) (-o-) (**!) ;v) f(--; :B l_P~ (QQ)

     

[X] [Top ↑]

T: Y: ALL: Online:
ThemeSwitch
  • Basic
Created in 0.5104 sec.
prev
2010.6
next
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30