⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 youarentgonnaneedit.html

📁 极限编程 Extream Programing
💻 HTML
字号:
<head><title>You Arent Gonna Need It</title></head><body><h1><img src="logo.gif"> You Arent Gonna Need It</h1><a href="YouArentGonnaNeedIt.html">YouArentGonnaNeedIt</a> (often abbreviated YAGNI) is an <a href="ExtremeProgramming.html">ExtremeProgramming</a> practice which states:
<DL><dt> <dd>&quot;Always implement things when you <strong>actually</strong> need them, never when you just <strong>foresee</strong> that you need them.&quot;
<dt> <dd>[From <a href="http://www.xprogramming.com/Practices/PracNotNeed.html">http://www.xprogramming.com/Practices/PracNotNeed.html</a>]
<p></DL>A scenario from <a href="RonJeffries.html">RonJeffries</a> explains the practice:
<p>You're working on some class.  You have just added some functionality that you need.  You realize that you are going to need some other bit of functionality.
If you don't need it now, don't add it now.  Why not?
<p><DL><dt> <dd>&quot;OK, Sam, why do you want to add it now?&quot;
<dt> <dd>&quot;Well, Ron, it will save time later.&quot;
<p></DL>Unless your <strong>universe</strong> is very different from mine, you can't save time.  You can only do less.  So you are saying:
<p><DL><dt> <dd>&quot;We will be able to do less later (at the cost of doing more now).&quot;
<p></DL>Unless your <strong>project</strong> is very different from mine, you already have too much to do right now.  Doing more now is a very bad thing when you already have too much to do.
<p>Unless your <strong>mind</strong> is very different from mine, you have a non-zero chance of not needing it after all, or of having to fix it before you even need it, when you refactor the class for some other reason.  If either of these happens, you have completely wasted your time, in addition to giving yourself more to do right now, when you least needed more to do.
<p><DL><dt> <dd>&quot;But Ron, if I do it now I'll know how to do it, and later I might not.&quot;
<dt> <dd>&quot;So, Sam, you're telling me that this class you're writing is so complex that even <strong>you</strong> won't be able to maintain it?&quot;
<p></DL>Keep it simple.  If you need it, you can put it in later.  If you don't need it, you won't have to do the work at all.  Take that day off.
<p><em>If only that were true.  If we have learned nothing in a million years can we agree on the following:</em>
<em>1) Many examples can be created that disprove a simplistic theory.</em>
<em>2) All theories are, (generally speaking) simplistic.</em>
<em>So... some 30ish years ago a couple the IP &quot;gurus&quot; are talking and decide that 3 digits ought to cover all the IP addresses &quot;we will ever need.&quot;</em>'
<em>Somebody quote me on this, &quot;Shortsightedness is not an asset.&quot; <a href="http://c2.com/cgi/wiki?TomLeylan">TomLeylan</a></em>
<em>It turns out that &quot;<a href="http://c2.com/cgi/wiki?SometimesYourGuessWasWrong">SometimesYourGuessWasWrong</a>!&quot;</em>
<hr>
<p><a href="YouArentGonnaNeedIt.html">YouArentGonnaNeedIt</a> has been a controversial wiki topic, and it has generated many replies and related pages.  Some directly relevant pages are:
<p><UL><li> <a href="http://c2.com/cgi/wiki?YouArentGonnaNeedItDiscussion">YouArentGonnaNeedItDiscussion</a>: Many of the obvious objections are answered at the top, with substantial discussion lower on the page.
<li> <a href="http://c2.com/cgi/wiki?YouArentGonnaNeedItOriginalPage">YouArentGonnaNeedItOriginalPage</a>: The original version of this page (as of September 2000), including a description of YAGNI in the <a href="ExtremeProgramming.html">ExtremeProgramming</a> context and more discussion.
<li> <a href="http://c2.com/cgi/wiki?YouAreGonnaNeedIt">YouAreGonnaNeedIt</a>: Situations where YAGNI might not make sense, with replies.
<li> <a href="http://c2.com/cgi/wiki?YouArentGonnaNeedItAndYtwok">YouArentGonnaNeedItAndYtwok</a>: Could YAGNI lead to problems like Y2K?  (The page was mostly written in early 1998.)
<li> <a href="http://c2.com/cgi/wiki?YouMightNeedIt">YouMightNeedIt</a>: A short question and reply about YAGNI and custom development tools.
<li> <a href="http://c2.com/cgi/wiki?DavesRealExampleWhereThinkingAheadWouldHaveHelped">DavesRealExampleWhereThinkingAheadWouldHaveHelped</a>: Specific examples of possible YAGNI exceptions.
<li> <a href="http://c2.com/cgi/wiki?YagniAndLogging">YagniAndLogging</a>: More discussion on a specific YAGNI exception.
<li> <a href="http://c2.com/cgi/wiki?YagniExceptions">YagniExceptions</a>: Possible exceptions or workarounds preserving YAGNI in a difficult database environment.
<li> <a href="http://c2.com/cgi/wiki?OaooBalancesYagni">OaooBalancesYagni</a>: How the <a href="http://c2.com/cgi/wiki?OnceAndOnlyOnce">OnceAndOnlyOnce</a> practice balances YAGNI.
<li> <a href="http://c2.com/cgi/wiki?ExtremeNeed">ExtremeNeed</a>: Insight into YAGNI controversies.
<li> <a href="http://c2.com/cgi/wiki?RefactoringYagni">RefactoringYagni</a>
<p></UL>Other related pages include:
<p><UL><li> <a href="http://c2.com/cgi/wiki?YouArentGonnaReadIt">YouArentGonnaReadIt</a>: YAGNI applied to books.
<li> <a href="DoTheSimplestThingThatCouldPossiblyWork.html">DoTheSimplestThingThatCouldPossiblyWork</a>: An often-related XP practice.
<li> <a href="http://c2.com/cgi/wiki?JustSufficientImplementation">JustSufficientImplementation</a>: A development goal closely related to <a href="YouArentGonnaNeedIt.html">YouArentGonnaNeedIt</a> and <a href="DoTheSimplestThingThatCouldPossiblyWork.html">DoTheSimplestThingThatCouldPossiblyWork</a>. 
<li> <a href="http://c2.com/cgi/wiki?NeedingBinarySearch">NeedingBinarySearch</a> (and <a href="http://c2.com/cgi/wiki?NotNeedingBinarySearch">NotNeedingBinarySearch</a>)
<li> <a href="http://c2.com/cgi/wiki?PrematureGeneralization">PrematureGeneralization</a>
<li> <a href="JustInTimeProgramming.html">JustInTimeProgramming</a>
<li> <a href="http://c2.com/cgi/wiki?ForthValues">ForthValues</a>
<p></UL><hr>
<p>If you have comments or questions about <a href="YouArentGonnaNeedIt.html">YouArentGonnaNeedIt</a>, please consider using one of the pages above rather than adding new comments here.  If you create a new page discussing YAGNI-related ideas, please add it to the list above.  [To see <em>all</em> the pages that refer to <a href="YouArentGonnaNeedIt.html">YouArentGonnaNeedIt</a>, click on the title of this page.]
<hr>
<a href="http://c2.com/cgi/wiki?CategoryJargon">CategoryJargon</a><hr><a href="http://c2.com/cgi/wiki?edit=YouArentGonnaNeedIt">EditText</a> of this page (last edited February 13, 2001)<br><a href="http://c2.com/cgi/wiki?FindPage&value=YouArentGonnaNeedIt">FindPage</a> by browsing or searching<p><font color=gray size=-1>This page mirrored in <a href="index.html">ExtremeProgrammingRoadmap</a> as of March 31, 2001</font></body>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -