YAGNI
出来たころには、要求が変化 64%の機能は使わない
YAGNI (You ain't gonna need it)
You are not going to need it. そんなの必要ないって
機能は実際に必要となるまでは追加しないのがよい
「そんなの必要ないって」
・あとで使うだろうとの予測の元に作ったものは、実際には10%程度しか使われない。したがってそれに費やした時間の90%は無駄になる
・余計な機能があると我々の仕事が遅くなり、リソースを浪費する
・予期しない変更に対しては設計を単純にすることが備えとなるが、今必要とする以上の機能を追加すると設計がより複雑になってしまう
・あなたの人生の時間は貴重である。あなたの能力は単にコードを書くためではなく、現実の問題に集中するために使うべきである
・結局はその機能は必要ないかもしれない。もしそうなったら、あなたがその機能を実装するのに費やした時間も、他のみんながそれを読むのに費やした時間も、その機能が占めていたスペースも、すべて無駄になってしまうだろう
・コードをすばやく実装するために最も良い方法は、あまりコードを書かないことである。バグを減らすために最も良い方法も、あまりコードを書かないことである