ソフトウェア開発の仕事に携わっています。「開発途上のプログラムの品質が心配なので検査して欲しい」という依頼を受けて10K行ばかりチェックしたところ、関数の返す結果値(正常に処理を完了できたか、何らかのエラーが発生したかを整数型の値で返す関数です)を9割がた未チェックのまま正常処理を続行していることが判明しました。


ぶっちゃけ、関数の返す結果値のチェックなんてしないモンですか?

オレはしている、私はしない、こーゆーケースではするけどこーゆー時はしない。いろいろな考えがあると思います。それぞれ理由をつけて答えてください。

回答の条件
  • 1人5回まで
  • 200 ptで終了
  • 登録:
  • 終了:2009/03/13 23:55:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答20件)

<前のツリー | すべて | 次のツリー>
きっちりつけます、自分のために pkb_wn2009/03/07 01:26:17ポイント2pt

メモリアクセス違反(ポインタの戻り値がNULL)でオチるのは恥ずかしいし

他の処理(関数)でも、どこが発生原因かわからないのは、不具合調査で自分の労力が増すばかり。

PGの誤りだけではなくて、動作環境や渡される引数、入力ファイルが原因の場合にも処理異常の理由を追えますから。(むしろ、リリース後は、この用途のほうが多いかも)


どの関数(必要なら呼び出し時引数の値も)で、どういった想定外あるいはエラー応答があったか、必要に応じてログにも吐き出すようにしています。

自前でエラーハンドル用(エラーだけでなくチェックポイントのログ出力、呼び出し履歴の記録なども)クラスを用意しておくと、使いまわしができて楽ですよ。

ただ、エラー処理クラスのエラーをこのクラス自身でハンドルすると無限ループ(ひいてはスタック領域枯渇)につながるのでそこだけ注意です。

実利とプライド Rinta2009/03/08 12:36:51

他のエントリでも書きましたが、「プログラマとしての気概」と後で苦労したくないという実利が原動力ですね。実利がチェックを実装するという行為に結びつくには、当事者であるという認識がないといけない。作っている人の立場や気持ちが、仕様やコードにあらわれてくる。コードを延々と見ていますが、やっぱりその人がそのコードを書いている時の気持ちみたいなものは、感じられるような気がしますね。気のせいかもしれませんがw

自前でエラーハンドル用(エラーだけでなくチェックポイントのログ出力、呼び出し履歴の記録なども)クラスを用意しておくと、使いまわしができて楽ですよ。

ここはね、お手本を用意して「こうやってやればラクですからマネしてください。」といってお願いすれば、みんながやってくれるようになる。と甘い期待をしています。個人でスキルある人は、自前の便利コードの断片をいっぱいもっているし、それがその人のスキルだと思う。なので、そーゆー努力をしない人にまでため込んできたナレッジを開示するのは、抵抗があるかもしれない。でもソレをしないと組織としてスキルアップにつながらない… すいません、このへんは私の自問自答です。

でも、気概も持たず、工夫もしない人にやってもらうようにするにはどうしたらいいのか? というのは、ナレッジ開示よりも難しい問題かもしれません。

<前のツリー | すべて | 次のツリー>

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

  • 質問してみた まあ、せっかくはてなのポイントがあるんだし、いろんな人の話をきいてみようーということで質問を出してみました。 ソフトウェア開発の仕事に携わっています。「開発途
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません