いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

Goメモ-205 (ジェネリクスを使うとき・使わないときの指針)

概要

結構シンプルに大事なことを言っているなと思ったので、ここにメモメモ。。。

Go本家のブログにて

go.dev

という記事がGo 1.18のリリースと共に出ていまして、その内容です。

中に、使うべきときや使わない方が良いときなどが書いてあるのですが、最後の部分にキレイに纏められています。

以下、上記ブログより引用。

If you find yourself writing the exact same code multiple times, where the only difference between the copies is that the code uses different types, consider whether you can use a type parameter. Another way to say this is that you should avoid type parameters until you notice that you are about the write the exact same code multiple times.

もし、全く同じコードを何度も書いていて、そのコピー間の違いは、コードが異なる型を使用していることだけである場合、型パラメータを使用できるかどうかを検討してください。

別の言い方をすれば、まったく同じコードを何度も書こうとしていることに気づくまでは、型パラメータを使わない方がいいということです。

まさにその通りですね。これは他の言語の場合でも同じですね。

便利だからといって、何でもかんでもジェネリクスにすればいいという訳じゃない。


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。