かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

無駄なインスタンスの生成

プログラミング言語初心者にありがちな失敗として以下のようなコードがあると思います。

Hoge h = new Hoge();
h = GetHoge(); // Hogeのインスタンスを返すメソッド

上記のコードの最初のnew Hoge()で作成したインスタンスは、次の行でサヨウナラしてしまいます。まぁ、微々たるものですがヒープを圧迫してGCが発生する可能性が上がるので、出来ればやめてほしいですよね。
というか、こんなコード書く初心者は帰ってくれないか。と言いたい。


某所で、上記のようなコードがあるのをコードレビューで見つけて指摘をしたことがあるのだけど、こういう返しをされた。

初期化コードとしては意味があると思うので、未修正とします。

とりあえず、初心者は帰ってくれないか。と思ったことを思い出した今日この頃でした。