YAGNI
出典: フリー百科事典『ウィキペディア(Wikipedia)』
"You ain't gonna need it"[1]、縮めて YAGNI とは、機能は実際に必要となるまでは追加しないのがよいとする、エクストリーム・プログラミングにおける原則である。
理由 [編集]
YAGNI原則を提唱する人々は、その理由として以下を挙げている。
- あとで使うだろうとの予測の元に作ったものは、実際には10%程度しか使われない。したがってそれに費やした時間の90%は無駄になる[2]。
- 余計な機能があると我々の仕事が遅くなり、リソースを浪費する[2]。
- 予期しない変更に対しては設計を単純にすることが備えとなるが、今必要とする以上の機能を追加すると設計がより複雑になってしまう[2]。
- あなたの人生の時間は貴重である。あなたの能力は単にコードを書くためではなく、現実の問題に集中するために使うべきである[3]。
- 結局はその機能は必要ないかもしれない。もしそうなったら、あなたがその機能を実装するのに費やした時間も、他のみんながそれを読むのに費やした時間も、その機能が占めていたスペースも、すべて無駄になってしまうだろう[3]。
- コードをすばやく実装するために最も良い方法は、あまりコードを書かないことである。バグを減らすために最も良い方法も、あまりコードを書かないことである[3]。
関連項目 [編集]
脚注 [編集]
- ^ "You ain't gonna need it" は「そんなの必要ないって」などと訳される。
- ^ a b c extremeprogramming.com - You aren't going to need it. (YAGNI)
- ^ a b c XProgramming.com - You’re NOT gonna need it!