特に大規模なアプリを作成する際の注意点。守るべきこと。つまり自戒。
フレームワーク
- 各クラスが提供するイベントに、ハンドラを登録する場合、解除まできっちり行おう。ハンドラによってGCが阻害される恐れがある。これも一種のメモリリークと言える。
- 独自のイベントを作成する場合、EventArgsを継承したクラスを作成し、EventHandler<TEventArgs>を利用しよう。独自のdelegate型をむやみに作ると実行時のパフォーマンスに影響する。
構文
- 「ref」は、その値を参照して、書き換えるときのみに使用しよう。
- 「ref」を使っているのに値を参照しない場合は、「out」を使おう。
- 「using ()」構文を積極的に使おう。usingによって明示的なDispose()を実現しよう。
例外デザイン
- 例外を出さなくて済ませられるなら、例外の出ないデザインが好ましい。
- 例外が発生したとしても、できるだけデータを破壊しないように、複製したデータに対して処理しよう。これは、データベースで言えば、アトミック原則と同じだ。