■32706 / ) |
インスタンス生成時におけるnullチェックの必要性について |
□投稿者/ toroneko (1回)-(2009/02/13(Fri) 09:35:04)
|
分類:[C#]
開発環境:VisualStudio 2008 & .NET Framework 2.0
C#でプロジェクトを進めていくうちにコードの可読性が悪化しており、 製品レベルの品質を向上させるため、C#のガイドラインやベストプラクティスを模索しております。 宜しくお願い致します。
【質問】 下記のような一般的なインスタンスの生成時、nullチェックが必要かどうか教えて下さい。 必要な場合、どういう時に通過するのか知りたいです(出来れば情報源も知りたいです!) ArrayList list = new ArrayList(); if (list == null) { // エラー時のフロー(ログでも出す?) } else { // 正常時のフロー }
【制約】 アンマネージなリソースなど、問題発生時に開放すべきものは無い前提でお願いします。
【補足】 当方はC++からC#に移行したのでnullチェックする癖が付いていたのですが、 ●C#ではガベージコレクションがある点 ●new がメモリの割り当てに失敗するとOutOfMemoryException例外がスローされる点 を考えるとnullチェックのフローを通る事は無いように感じます。 (今思えばC++も設定次第で例外がスローされるから、nullチェックとは違うアプローチで メモリの開放を行うべきでしたね…)
C#におけるインスタンス生成時の良いコーディング方法を是非ご教授下さい!! 「nullチェックせずにバンバンnewするのが普通」とか「意味がなくてもやる」とか…理由も♪ (もちろん最高や絶対というものは無いのでしょうが、お勧めでも構いません)
以上、宜しくお願い致します。
|
|