かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

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

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

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

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


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

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

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