You aren't gonna need it
"You aren't gonna need it" (YAGNI),[1][2][3] eXtreme Programming (XP) metodolojisinden doğan ve bir programcının gerekli olana kadar yeni işlevsellik eklememesi gerektiğini savunan bir yazılım geliştirme prensibidir.[4] İfadenin diğer varyasyonları arasında "You aren't going to need it" (YAGTNI)[5][6] ve "You ain't gonna need it"[7] sayılabilir.
Ron Jeffries, XP'nin kurucularından biri olarak bu felsefeyi şöyle açıklar: "Bir şeyleri yalnızca ihtiyacınız olacağını öngördüğünüz için değil, gerçekten ihtiyaç duyduğunuzda uygulayın."[8] John Carmack ise "Daha az deneyimli geliştiricilerin, gelecek gereksinimler/uygulamalar için mimari oluşturmanın ne kadar nadiren net pozitif sonuç verdiğini takdir etmeleri zordur." demiştir.[9]
Bağlam
[değiştir | kaynağı değiştir]YAGNI, XP'nin "muhtemelen işe yarayacak en basit şeyi yap" (DTSTTCPW) uygulamasının temelindeki prensiplerden biridir.[2][3] Bu prensip, sürekli yeniden düzenleme, sürekli otomatik birim testi ve sürekli entegrasyon gibi diğer uygulamalarla birlikte kullanılmak üzere tasarlanmıştır. Sürekli yeniden düzenleme olmadan kullanıldığında, teknik borç olarak bilinen dağınık kod ve büyük ölçekli yeniden çalışmaya yol açabilir.[kaynak belirtilmeli] YAGNI'nin destekleyici uygulamalara bağımlılığı, XP'nin orijinal tanımının bir parçasıdır.
Ayrıca bakınız
[değiştir | kaynağı değiştir]- Don't repeat yourself
- Özellik sürünmesi
- Bozuk değilse düzeltme
- KISS prensibi
- Minimum uygulanabilir ürün
- MoSCoW yöntemi
- Muntzing
- Erken optimizasyon
- Tek sorumluluk ilkesi
- SOLID
- Unix Felsefesi
- Daha kötüsü daha iyidir
Kaynakça
[değiştir | kaynağı değiştir]- ^ Extreme Programming Installed, Jeffries, Ronald E.; Ann Anderson, Chet Hendrickson (2001). 265 sayfa, s. 190, web sayfası: Books-Google-dIsC, alıntı: "YAGNI: 'Buna İhtiyacınız Olmayacak.' Bu slogan, XP'nin en ünlülerinden biri..., bize her zaman sahip olduğumuz hikaye üzerinde çalışmamızı, ihtiyacımız olacağını düşündüğümüz şeyler üzerinde değil."
- ^ a b Extreme Programming examined, Succi, Giancarlo; Michele Marchesi, 2001, 569 sayfa, web sayfası: Books-Google-VSCh, alıntı: "XP, 'muhtemelen işe yarayacak en basit şeyi yapın' der çünkü 'buna ihtiyacınız olmayacak'."
- ^ a b Object-oriented & classical software engineering, Schach, Stephen R. (2007). 618 sayfa, s., web sayfası: Book-Google-hWwh, alıntı: "Extreme programming ile ilişkilendirilen iki kısaltma şunlardır: YAGNI (buna ihtiyacınız olmayacak) ve DTSTTCPW (muhtemelen işe yarayacak en basit şeyi yap)."
- ^ Lindstrom, Lowell; Zannier, Carmen; 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. s. 121. ISBN 3-540-22839-X.
- ^ Fowler, Martin; Kent Beck (8 Temmuz 1999). Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, 431 sayfa, s. 68, web sayfası: BGoogle-1M. 978-0201485677. Alıntı: "buna ihtiyacınız olmayacak".
- ^ Poppendieck, Mary; Tom Poppendieck (2003). Lean Software Development: An Agile Toolkit, s.59, web sayfası: BGoogle-hQ. Alıntı: "Kent Beck, Extreme Programming Explained, Bölüm 17, bu uygulama için YAGNI (Buna İhtiyacınız Olmayacak) kısaltmasını kullanır ve gerekçesini açıklar."
- ^ Olsen, Russ (2007). Design Patterns in Ruby, s.13, web sayfası: [1] 21 Mayıs 2023 tarihinde Wayback Machine sitesinde arşivlendi.. 9780321490452. Alıntı: "Bu tasarım prensibi Extreme Programming dünyasından çıkmıştır ve 'Buna İhtiyacınız Olmayacak' (YAGNI kısaltması) ifadesiyle zarif bir şekilde özetlenmiştir."
- ^ Jeffries, Ron (4 Nisan 1998). "Buna İhtiyacınız OLMAYACAK!". 30 Eylül 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Kasım 2007.
- ^ "John Carmack tweet". 16 Ağustos 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Aralık 2022.