YAGNI

"You aren't gonna need it"[1][2] (YAGNI)[3] atau "Kamu takkan membutuhkannya" adalah sebuah prinsip dalam pemrograman ekstrem (extreme programming/XP) yang mengajarkan agar seorang pemrogram tidak perlu menambahkan fungsionalitas tertentu hingga fungsionalitas tersebut dianggap benar-benar diperlukan.[4] Rekan pendiri XP Ron Jeffries menulis: "Selalu implementasikan hal-hal saat kamu benar-benar membutuhkannya, jangan pernah saat kamu menduga kalau kamu sedang membutuhkannya."[5] Bentuk lain dari frasa tersebut adalah "Kamu takkan membutuhkannya" (you aren't going to need it dan you ain't gonna need it).[6][7][8]

Konteks

YAGNI adalah sebuah prinsip di balik pendekatan XP "lakukan hal paling simpel yang mungkin bisa bekerja" (do the simplest thing that could possibly work/DTSTTCPW).[2][3] YAGNI dimaksudkan untuk digunakan dengan beberapa pendekatan lainnya, seperti refaktorisasi berkesinambungan (continuous refactoring), pengujian unit otomatis berkesinambungan (continuous automated unit testing), dan integrasi berkesinambungan (continuous integration). Jika diterapkan tanpa refaktorisasi berkesinambungan, hal ini dapat menyebabkan kode sumber (source code) menjadi tidak terorganisir dan membutuhkan pengerjaan ulang besar-besaran, atau dikenal sebagai utang teknis (technical debt).[butuh rujukan] Ketergantungan YAGNI pada pendekatan pendukung adalah bagian dari definisi XP.

Lihat pula

Referensi

  1. ^ Extreme Programming Installed, Ronald E. Jeffries, 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. ^ a b Extreme Programming examined, Giancarlo Succi, 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. ^ a b Object-oriented & classical software engineering, Stephen R. Schach, 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. ^ Lowell Lindstrom; Carmen Zannier; Erdogmus, Hakan, ed. (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. hlm. 121. ISBN 3-540-22839-X. 
  5. ^ Ron Jeffries (April 4, 1998). "You're NOT gonna need it!". Diakses tanggal 2007-11-07. 
  6. ^ Martin Fowler; 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".
  7. ^ Mary Poppendieck; 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."
  8. ^ Russ Olsen (2007). Design Patterns in Ruby, p.13, webpage: [1]. ISBN 9780321490452. Quote: "This design principle comes out of the Extreme Programming world and is elegantly summed up by the phrase You Ain't Gonna Need It (YAGNI for short)."