この記事では具体的なコードについては触れません。
コードを書いていくのに使える法則について紹介します。
また、この記事では「プリンシプル オブ プログラミング」という本を読んだ上で、
自分が特に重要と思った箇所を、備忘録も兼ねて、書いています。
YAGNIとは
早速ですが、タイトルにあるYAGNIとは「You Aren't Going to Need it.」の略であり、
日本語では、「それはきっと必要にならない」という意味になります。
この意味からピンときた方もいるかもしれませんが、
このことをコードを書く上での法則に落とし込むと以下のようなことになります。
YAGNIの法則
コードを書く上で「これが後で必要になりそう」で書いてはいけないという法則です。
あくまで、必要なものは必要になったときに書けばよいという考えで取り組みます。
どんなに正確に予想しようとしたところで、結局のところ予想でしかないので、
先回りしたコードを書くのは不可能だということです。
なんでダメ?
あらかじめ、いろんなことに対応できるようコードに書いておいても、利用されないことが大半です。利用されなかった場合、その対応にかかった時間は無駄になるということです。
また、予想しながら拡張性を考慮して、コードを書くということはコード内にが煩雑になり、使われないコードが混ざるだけで、難解な手を加えにくいコードになっていってしまうのです。
コードは単純に!
コード書くときは、汎用性よりも単純性を選ぶようにしましょう。
まずは使えることを念頭におき、できるだけシンプルに作りましょう。
そうすれば、新たに機能を拡張するようなときが来ても、単純なコードを変更するだけになり、
汎用的な難解なコードに手を加えるより、はるかに簡単になっているはずです。
まとめ
コードはYAGNIの法則に従い、必要なものを単純に書くようにしましょう!