本当は「…ない」と否定形ではなく「…する」というような肯定形のタイトルにしたかったのですが、すっきりしたタイトルが浮かびませんでした。肯定形で書くと「身の丈にあった機能を使う」です。 このタイトルは、書いている人にとってオーバースペックかどうかではなく、書いているコードにとってオーバースペックかどうかという意味です。初心者だからメタプログラミングはするな、という話ではありません1。やり方をいくつも知っていると、より汎用的なやり方を選択したくなるでしょうが、汎用的かどうかという基準だけで考えるのではなく、そのコードにあったやり方かどうかという基準でも考えましょうという話です。 コードを読む側を経験するとわかりますが、コードを書いた人がどうしてこのようなコードを書いたかを知っているか知っていないかでコードの読みやすさが違います。もちろん、どうして書いたかを知っている方が読みやすいです。例えると
![クリアなコードの作り方: オーバースペックな機能を使わない - 2012-11-01 - ククログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/06bdd2cfba37af959427276749418d8c86b5e4b3/height=288;version=1;width=512/https%3A%2F%2Fwww.clear-code.com%2Fimages%2Ficon.png)