Araçlar

AI ajanlarıyla ölü kod, eskimiş paket ve feature flag temizliği

NimblePros'un Halloween yazısı, uzun ömürlü .NET kod tabanlarında biriken artıkların temizliğini anlatıyor: kullanılmayan private üyeler, referansı olmayan public tipler, güvenlik açığı olan ya da kullanılmayan NuGet paketleri ve süresi dolmuş feature flag'ler. Yöntem, derleyici analizcilerini ve dotnet CLI kontrollerini bir AI ajanıyla birleştiriyor; ajan incelemeyi yapıyor, son kararı insan veriyor. Temizliği sürekli erteleyen ekipler için pratik bir yol haritası.

Yayın tarihi
Okuma süresi
14 dk okuma
agent çalıştırması #17
agent çalıştırması #17
Orijinale git blog.nimblepros.com

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • EnforceCodeStyleInBuild değerini true yapıp IDE0051, IDE0052 ve IDE0060 kurallarını warning olarak ayarlayın; kullanılmayan private kod build sırasında görünsün.
  • dotnet list package komutunu --vulnerable, --deprecated ve --outdated seçenekleriyle çalıştırın; NuGet Audit geçişli paketlerdeki açıkları da NU1901-NU1904 ile bildirir.
  • Public tipler assembly scanning, config binding, serileştirme, convention veya InternalsVisibleTo ile görünmez biçimde kullanılabilir; silmeden önce bunları kontrol edin.
  • Tüm ortamlarda aynı değere sahip feature flag'ler ghost flag adayıdır; kod yolunu ve flag'i tüm konfigürasyon dosyalarından birlikte kaldırın.
  • Her bulgunun kanıtı ve güven düzeyi olmalı; silme işleminden önce raporu bir insan incelemelidir.

Uzun yaşayan kod tabanlarında ölü metotlar, kullanılmayan paketler, eski feature flag'ler ve yorum satırına alınmış bloklar birikir; bunlar hem kod incelemesini yavaşlatır hem de refactor'ı riskli hale getirir. Yazar bu temizliğin sıkıcı ve tekrarlayan bir iş olduğunu, dolayısıyla AI kodlama ajanlarına uygun olduğunu savunuyor; ama silme kararının insanda kalması gerektiğini vurguluyor. Temel ilke: araçlar adayları bulur, ajanlar inceler, insanlar karar verir.

Derleme tarafında EnforceCodeStyleInBuild açılıp IDE0051, IDE0052 ve IDE0060 kuralları uyarıya yükseltiliyor; böylece kullanılmayan private üyeler dotnet build çıktısında görünür. Bağımlılıklar için dotnet list package kontrolleri NuGet Audit ile birlikte kullanılıyor ve bir ajan, bir referansın gerçekten kullanılıp kullanılmadığını test ediyor. Salt okunur bir ghost-hunt skill dosyası, kanıt ve güven düzeyi içeren bir rapor üretiyor; silme işlemi ise bu rapordan sonra yapılıyor.

Gerçek dünyada kullanımı

  • Yıllardır çalışan bir ASP.NET Core API'sinde bir yıldır her ortamda açık olan ve iki fiyatlandırma kod yolu da duran bir feature flag'i temizlemek.
  • Newtonsoft.Json'dan System.Text.Json'a geçişi bitmiş ama eski paket referansı hâlâ csproj'da duran bir çözümü sadeleştirmek.
  • Güvenlik denetimi öncesinde açıklı ya da deprecated NuGet paketlerini ayıklamak isteyen bir ekip.

Neden önemli

Ölü kod, kullanılmayan paketler ve eski flag'ler saldırı yüzeyini büyütür ve her değişikliği yavaşlatır; kanıtlı, salt okunur bir ajan taraması bu temizliği incelenebilir pull request'lere dönüştürür.

Bu özet, NimblePros Blog üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü