Help us understand the problem. What is going on with this article?

知っておきたい!YAGNIの法則

More than 1 year has passed since last update.

この記事では具体的なコードについては触れません。
コードを書いていくのに使える法則について紹介します。

また、この記事では「プリンシプル オブ プログラミング」という本を読んだ上で、
自分が特に重要と思った箇所を、備忘録も兼ねて、書いています。

YAGNIとは

早速ですが、タイトルにあるYAGNIとは「You Aren't Going to Need it.」の略であり、
日本語では、「それはきっと必要にならない」という意味になります。
この意味からピンときた方もいるかもしれませんが、
このことをコードを書く上での法則に落とし込むと以下のようなことになります。

YAGNIの法則

コードを書く上で「これが後で必要になりそう」で書いてはいけないという法則です。
あくまで、必要なものは必要になったときに書けばよいという考えで取り組みます。
どんなに正確に予想しようとしたところで、結局のところ予想でしかないので、
先回りしたコードを書くのは不可能だということです。

なんでダメ?

あらかじめ、いろんなことに対応できるようコードに書いておいても、利用されないことが大半です。利用されなかった場合、その対応にかかった時間は無駄になるということです。
また、予想しながら拡張性を考慮して、コードを書くということはコード内にが煩雑になり、使われないコードが混ざるだけで、難解な手を加えにくいコードになっていってしまうのです。

コードは単純に!

コード書くときは、汎用性よりも単純性を選ぶようにしましょう。
まずは使えることを念頭におき、できるだけシンプルに作りましょう。
そうすれば、新たに機能を拡張するようなときが来ても、単純なコードを変更するだけになり、
汎用的な難解なコードに手を加えるより、はるかに簡単になっているはずです。

まとめ

コードはYAGNIの法則に従い、必要なものを単純に書くようにしましょう!

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away