Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

You aren't gonna need it

From Wikipedia, the free encyclopedia
Software engineering principle

"You aren't gonna need it"[1][2] (YAGNI)[3] is a principle which arose fromextreme programming (XP) that states aprogrammer should not add functionality until deemed necessary.[4] Other forms of the phrase include "You aren't going to need it" (YAGTNI)[5][6] and "You ain't gonna need it".[7]

Ron Jeffries, a co-founder of XP, explained the philosophy: "Always implement things when you actually need them, never when you just foresee that you [will] need them."[8]John Carmack wrote "It is hard for less experienced developers to appreciate how rarely architecting for future requirements / applications turns out net-positive."[9]

Context

[edit]

YAGNI is a principle behind the XP practice of "do the simplest thing that could possibly work" (DTSTTCPW).[2][3] It is meant to be used in combination with several other practices, such as continuousrefactoring, continuous automatedunit testing, andcontinuous integration. Used without continuous refactoring, it could lead to disorganized code and massive rework, known astechnical debt.[citation needed] YAGNI's dependency on supporting practices is part of the original definition of XP.

See also

[edit]

References

[edit]
  1. ^Extreme Programming Installed,Jeffries, Ronald E.; Ann Anderson, Chet Hendrickson (2001). 265 pages, p. 190, webpage:Books-Google-dIsC, quote: "YAGNI: 'You Aren't Gonna Need It.' This slogan, one of XP's most famous..., reminds us always to work on the story we have, not something we think we're going to need."
  2. ^abExtreme Programming examined, Succi, Giancarlo; Michele Marchesi, 2001, 569 pages, webpage:Books-Google-VSCh, quote: "XP says 'do the simplest thing that could possibly work ' because 'you aren't gonna need it'."
  3. ^abObject-oriented & classical software engineering, Schach, Stephen R. (2007). 618 pages, p., webpage:Book-Google-hWwh, quote: "Two acronyms now associated with extreme programming are YAGNI (you aren't gonna need it) and DTSTTCPW (do the simplest thing that could possibly work)."
  4. ^Lindstrom, Lowell; Carmen Zannier; Erdogmus, Hakan, eds. (2004).Extreme Programming and Agile Methods – XP/Agile Universe 2004: 4th Conference on Extreme Programming and Agile Methods. Lecture Notes in Computer Science. Berlin: Springer. p. 121.ISBN 3-540-22839-X.
  5. ^Fowler, Martin;Kent Beck (8 July 1999).Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, 431 pages, p. 68, webpage:BGoogle-1M.ISBN 978-0201485677. Quote: "you aren't going to need it".
  6. ^ Poppendieck, Mary; Tom Poppendieck (2003).Lean Software Development: An Agile Toolkit, p.59, webpage:BGoogle-hQ. Quote: "Kent Beck,Extreme Programming Explained, Chapter 17, uses the acronym YAGNI (You Aren't Going to Need It) for this practice and explains its rationale."
  7. ^ Olsen, Russ (2007).Design Patterns in Ruby, p.13, webpage:[1].ISBN 9780321490452. Quote: "This design principle comes out of the Extreme Programmingworld and is elegantly summed up by the phrase You Ain't Gonna Need It (YAGNIfor short)."
  8. ^Jeffries, Ron (April 4, 1998)."You're NOT gonna need it!". Retrieved2007-11-07.
  9. ^Carmack, John [@ID_AA_Carmack] (18 June 2021)."It is hard for less experienced developers to appreciate how rarely architecting for future requirements / applications turns out net-positive. https://t.co/lusGdzkfd3" (Tweet).Archived from the original on 16 August 2022. Retrieved2 December 2022 – viaTwitter.
Retrieved from "https://en.wikipedia.org/w/index.php?title=You_aren%27t_gonna_need_it&oldid=1281815292"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp