“Gelecekte lazım olur diye yazma. Lazım olduğunda yazarsın.”
YAGNI, yazılım geliştirmede sadeliği savunan ve “önceden değil, gerektiğinde geliştir” ilkesini temel alan bir yaklaşımdır. Açılımı You Ain’t Gonna Need It olan bu terim, Türkçeye “Muhtemelen buna ihtiyacın olmayacak” olarak çevrilebilir.
Birçok yazılımcı, “ileride lazım olabilir” düşüncesiyle gereksiz kod yazar:
Ancak çoğu zaman bu özellikler hiçbir zaman kullanılmaz. Sonuç:
“İleride çoklu dil desteği gerekir diye tüm metinleri resource dosyasına koydum.”
Ancak proje boyunca sadece Türkçe kullanıldı. Ne oldu?
“Şu an sadece Türkçe gerekiyorsa, sistemi sade tut. İleride ihtiyaç doğarsa o zaman ekle.”
Prensip | Bağlantı |
---|---|
KISS | Gereksiz karmaşıklıktan kaçın |
DRY | Gereksiz tekrar kadar gereksiz yapıdan da kaçın |
SOLID | Yalnızca ihtiyaç olan soyutlamaları yap |
Durum | Uygulama |
---|---|
Kullanıcı talep etmemiş | YAGNI |
Henüz işlevin gerekliliği net değil | YAGNI |
Gerçek ihtiyaç veya kullanım yok | YAGNI |
Ürün yayında ve yeni ihtiyaç çıktı | O zaman geliştir ✅ |
YAGNI, yazılımı sade ve yönetilebilir tutmak için bir kılavuzdur. Yazılımcı olarak bazen ileri görüşlü olmak isteriz, ancak şunu unutmamak gerekir:
“İhtiyaç doğduğunda yazmak, hiçbir zaman ihtiyaç duyulmayan kodu yazmaktan daha iyidir.”
Yani: Yazma, sonra gerekirse yazarsın.