"You aren't gonna need it"[1][2] (YAGNI)[3] is a principle which arose from extreme programming (XP) that states a programmer 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]
XPi
was invoked but never defined (see the help page).XPe
was invoked but never defined (see the help page).OOC
was invoked but never defined (see the help page).XPA
was invoked but never defined (see the help page).Ref
was invoked but never defined (see the help page).LSD
was invoked but never defined (see the help page).DPiR
was invoked but never defined (see the help page).RJef
was invoked but never defined (see the help page).