Loading article…
「それは必要ないだろう」[1] [2] ( YAGNI ) [3]は、エクストリームプログラミング(XP)から生まれた原則で、プログラマーは必要だと判断されるまで機能を追加すべきではないとしています。[4]このフレーズの他の形式には、「それは必要ないだろう」(YAGTNI) [5] [6]や「それは必要ないだろう」などがあります。[7]
XPの共同創始者であるロン・ジェフリーズは、その哲学を次のように説明している。「実際に必要なときにだけ実装し、必要になると予測したときには絶対に実装しない。」 [8] ジョン・カーマックは、「経験の浅い開発者には、将来の要件やアプリケーションを想定した設計が、最終的にプラスになることがほとんどないことを理解するのは難しい。」[9]
コンテクスト
YAGNI は、XP の実践「できるだけ単純なことをする」(DTSTTCPW) の背後にある原則です。[2] [3]これは、継続的リファクタリング、継続的自動ユニットテスト、継続的インテグレーションなど、他のいくつかの実践と組み合わせて使用することを目的としています。継続的リファクタリングなしで使用した場合、コードが乱雑になり、技術的負債と呼ばれる大規模なやり直しが発生する可能性があります。[要出典] YAGNI がサポート実践に依存することは、XP の元の定義の一部です。
参照
参考文献
- ^ Extreme Programming Installed、Jeffries、Ronald E. ; Ann Anderson、Chet Hendrickson (2001)。265 ページ、p. 190、ウェブページ: Books-Google-dIsC、引用: 「YAGNI: 「You Aren't Gonna Need It.」このスローガンは、XP の最も有名なスローガンの 1 つで、必要になると思うものではなく、すでに持っているストーリーに基づいて作業することを常に思い出させてくれます。」
- ^ ab Extreme Programming studied、Succi、Giancarlo、Michele Marchesi、2001 年、569 ページ、ウェブページ: Books-Google-VSCh、引用: 「XP では、『おそらく機能する最も単純なことを行う』とされています。なぜなら、『それが必要になることはないから』です。」
- ^ ab オブジェクト指向と古典的ソフトウェア エンジニアリング、Schach、Stephen R. (2007)。618 ページ、p.、ウェブページ: Book-Google-hWwh、引用: 「現在エクストリーム プログラミングに関連付けられている 2 つの頭字語は、YAGNI (you are not gonna need it) と DTSTTCPW (do the simplest thing that could probably work) です。」
- ^ Lindstrom, Lowell; Carmen Zannier; Erdogmus, Hakan 編 (2004)。エクストリーム プログラミングとアジャイル メソッド – XP/Agile Universe 2004: エクストリーム プログラミングとアジャイル メソッドに関する第 4 回カンファレンス。コンピュータ サイエンスの講義ノート。ベルリン: Springer。p . 121。ISBN 3-540-22839-X。
- ^ Fowler, Martin ; Kent Beck (1999 年 7 月 8 日)。 リファクタリング: 既存コードの設計の改善。Addison -Wesley Professional、431 ページ、68 ページ、ウェブページ: BGoogle-1M。ISBN 978-0201485677。引用:「必要ありません」。
- ^ Poppendieck, Mary; Tom Poppendieck (2003). Lean Software Development: An Agile Toolkit、p.59、ウェブページ: BGoogle-hQ。引用: 「Kent Beck著『Extreme Programming Explained』の第 17 章では、このプラクティスに頭字語 YAGNI (You Aren't Going to Need It) を使用し、その根拠を説明しています。」
- ^ Olsen, Russ (2007). Design Patterns in Ruby、p.13、ウェブページ: [1]。ISBN 9780321490452 。引用: 「この設計原則はエクストリームプログラミングの世界から生まれたもので、You Ain't Gonna Need It (略して YAGNI) というフレーズで簡潔にまとめられています。」
- ^ Jeffries, Ron (1998 年 4 月 4 日)。「You're NOT gonna need it!」。2007 年 11 月 7 日閲覧。
- ^ Carmack, John [@ID_AA_Carmack] (2021年6月18日). 「経験の浅い開発者にとって、将来の要件やアプリケーションを想定した設計が最終的にプラスになることがいかに稀であるかを理解するのは難しい。 https://t.co/lusGdzkfd3」(ツイート). 2022年8月16日時点のオリジナルよりアーカイブ。 2022年12月2日閲覧– Twitter経由。
