: You ain't gonna need it[1]、縮めて YAGNI とは、機能は実際に必要となるまでは追加しないのがよいとする、エクストリーム・プログラミングにおける原則である。

理由

編集

YAGNI原則を提唱する人々は、その理由として以下を挙げている。

  • 後で使うだろうという予測の元に作ったものは、実際には10%程度しか使われない。したがって、それに費やした時間の90%は無駄になる[2]
  • 余計な機能があると、仕事が遅くなり、リソースを浪費する[2]
  • 予期しない変更に対しては、設計を単純にすることが備えとなる。そして、必要以上の機能を追加すると、設計が複雑になってしまう[2]
  • 人生の時間は、貴重である。したがって、人間の能力は、ただコードを書くためではなく、現実の問題に集中するために使うべきである[3]
  • 結局は、その機能は必要ないかもしれない。もしそうなったら、あなたがその機能を実装するのに費やした時間も、他のみんながそれを読むのに費やした時間も、その機能が占めていたスペースも、すべて無駄になってしまうだろう[3]
  • コードをすばやく実装するために最も良い方法は、あまりコードを書かないことである。そして、バグを減らすために最も良い方法も、あまりコードを書かないことである[3]


関連項目

編集

脚注

編集
  1. ^ "You ain't gonna need it" は「そんなの必要ないって」などと訳される。
  2. ^ a b c extremeprogramming.com - You aren't going to need it. (YAGNI)
  3. ^ a b c RonJeffries.com - You’re NOT gonna need it!