Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
79
Help us understand the problem. What is going on with this article?
@sesame525

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

More than 3 years have passed since last update.

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

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

YAGNIとは

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

YAGNIの法則

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

なんでダメ?

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

コードは単純に!

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

まとめ

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

79
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  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
mashandroom
会社外活動・コミュニティとして、ハッカソンや各種イベントのボランティアなどに参加。ただただ自分たちが楽しみ、結果周りの人が喜んでくれるようなアウトプットを目指しています。創造せよ!頭にキノコが生えるまで

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
79
Help us understand the problem. What is going on with this article?