【やぐに】
YAGNI とは?
💡 「今使わないなら作るな」
📌 このページのポイント
- XP(エクストリームプログラミング)の主要プラクティス
- 必要になった時に実装すれば十分という考え方
- 過剰設計(Over-engineering)を防止する
- KISS原則、DRY原則と合わせてソフトウェア設計の三大原則
将来必要になるかもしれないのに作らないの?
統計的に「将来必要になるかも」と思って作った機能の多くは実際には使われない。使われない機能もコードの保守コストはかかる。必要になった時に作れば、その時点の要件に最も適した実装ができる。事前に作ると要件を推測するから、的外れな実装になりがちなんだよ
でも拡張しにくいコードになりそう…
具体例は?
リファクタリングする余裕がなかったらどうする?
まとめ:ざっくりこれだけ覚えればOK!
「YAGNI」って出てきたら「今必要ない機能は作らない原則」と思えればだいたいOK!
📖 おまけ:英語の意味
「You Aren't Gonna Need It」 = それは必要にならない
💬 Ron Jeffriesが提唱。XPの「勇気」の価値観に基づく原則だよ