Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
.NET Analyzer'ları: AnalysisLevel, CA Kuralları, .globalconfig, WarningsAsErrors ve Legacy Projede Kademeli Açmak
AnalysisLevel'ı 10.0-recommended gibi bir sürüme sabitlemek, SDK yükseltmesinin kendiliğinden yeni kural açıp CI'ı kırmasını önler; Bookstore'da .NET 11 SDK'sı latest ile CA2028 hatası verdi, sabit seviyede temiz geçti. Yazı .globalconfig ile .editorconfig'in rolünü, Türkçe i ile kupon eşleşmeyen CA1309'u, SQL injection'ı gösteren CA2100'ü, hedefli WarningsAsErrors'ı, gerekçeli bastırmayı ve SARIF ile PR annotation'ını gerçek çıktılarla anlatıyor.
Statik Analiz Nedir, Ne Bulur, Ne Bulamaz? Linter, Analyzer, Type Checker ve SAST Farkı
Statik analiz kodu çalıştırmadan bug pattern'lerini ve kural ihlallerini yakalar, ama kodda yazılı olmayan business rule'ları göremez. Bookstore'da bir fiyat içe aktarma PR'ında .NET 10'un varsayılan ayarları 2 sorun, Recommended mod 7 diagnostic buldu; build temizlendikten sonra bile eksi fiyat ve 329,90'ı 32990 okuyan bir hata veritabanına kadar gitti. Yazı araç spektrumunu, severity'yi, IDE'den dashboard'a katmanları ve legacy projede ratchet stratejisini anlatıyor.