DEFENSIVE CODING FUNDAMENTALS FOR C# EĞİTİMİ

Savunmacı kodlamanın temellerini öğrenin

Guard clause, nullable güvenliği, girdi doğrulama, istisna yönetimi, loglama ve savunmacı test temelleri

Bu iki günlük eğitim, savunmacı kodlamanın temel tekniklerini C# örnekleriyle tanıtır. 2 gün boyunca laboratuvar uygulamalarıyla işlenir; katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

2 gün Temel Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

C# ile savunmacı kodlama: null güvenliği, doğrulama, hata stratejileri, loglama ve test

Bu iki günlük eğitim, savunmacı kodlamanın temel tekniklerini C# örnekleriyle tanıtır. Guard clause ve ön koşullar, nullable reference types, TryParse ve DataAnnotations ile doğrulama, istisna yakalama ve özel istisna, ILogger ile loglama, sınır değer testleri ve Roslyn analyzer'lar küçük hatalı kod parçaları üzerinde uygulanır.

Süre ve Format

2 Gün. Her gün dört modül; her modülde hatalı kodu bulma, düzeltme ve test yazma döngüsü işlenir.

Seviye

Temel Seviye — 8 uygulamalı modülde Koruma blokları ve sözleşmeyle tasarım, Hata stratejileri ve Statik analiz ve kod kalitesi gibi konuları kapsar.

Öğrenme Metodu

Hatalı örnek kod önce çalıştırılıp bozulduğu nokta gösterilir, ardından savunmacı teknikler uygulanarak düzeltilir; testler ve analyzer'larla kazanım ölçülür.

Neden Bu Eğitim?

🛡️Hatayı baştan önleme

Null, sınır değeri ve eşzamanlılık kaynaklı hataların üretime çıkmadan nasıl yakalanacağını kod üzerinde görürsünüz.

🔎Teşhis edilebilir sistemler

Yapılandırılmış loglama, correlation ID ve doğru istisna tasarımıyla sorunu dakikalar içinde bulmayı öğrenirsiniz.

✅Ölçülebilir kalite

Roslyn analyzer, nullable uyarıları ve mutasyon testiyle kod kalitenizi sayısal olarak izlersiniz.

Anahtar Konular

c# için defensive coding temelleri eğitimidefensive coding c#savunmacı kodlamac# hata yönetiminullable reference typesclean code c#c# exception handlingc# unit testserilogfluentvalidation
“Hata kaçınılmazdır; savunmacı kod, hatanın sessizce büyümesini engelleyen koddur.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
C# deneyimi

Sınıf, arayüz, LINQ ve istisna yönetimi konularında temel-orta düzey C#.

2
Birim test farkındalığı

xUnit veya NUnit ile basit test yazma deneyimi faydalıdır.

3
Kurulu ortam

Visual Studio 2022 ve güncel .NET SDK kurulu bilgisayar.

4
Gerçek proje kodu

Kendi projenizden örnek kod getirmek tartışmayı zenginleştirir (zorunlu değil).

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı gün sonunda Koruma blokları ve sözleşmeyle tasarım, Null güvenliği, Girdi doğrulama ve İstisna yönetimi başlıklarını çalışan örnek kod üzerinde uygulayarak "Sözleşme, null, doğrulama ve istisna" konusunda bağımsız çalışabilir hale gelir.
Modül 1
Koruma blokları ve sözleşmeyle tasarım
  • Guard clause deseni ve erken çıkış ile iç içe if'lerin azaltılması
  • ArgumentNullException.ThrowIfNull ve ArgumentOutOfRangeException.ThrowIfNegative kullanımı
  • Ön koşul, son koşul ve değişmezlik (invariant) kavramları
  • Debug.Assert ile geliştirme zamanı doğrulama ve Release farkı
  • Metot sözleşmesini dokümante eden XML yorumları ve nitelikler
  • Public API sınırında doğrulama, iç kodda güven ilkesi
Modül 2
Null güvenliği
  • Nullable reference types ile NullReferenceException'ın derleme zamanında yakalanması
  • ?, !, ?., ??= operatörleri ve null-forgiving kullanımının riskleri
  • [NotNull], [MaybeNull], [NotNullWhen] gibi nullability öznitelikleri
  • Null Object deseni ve boş koleksiyon döndürme ilkesi
  • Nullable uyarılarını hata sayma (WarningsAsErrors) ve kademeli geçiş
  • Option/Maybe benzeri sarmalayıcılar ve TryGet kalıbı
Modül 3
Girdi doğrulama
  • TryParse kalıbı ve kültüre duyarlı sayı/tarih ayrıştırma
  • DataAnnotations ve FluentValidation ile kural tabanlı doğrulama
  • Beyaz liste yaklaşımı, uzunluk ve aralık kontrolleri
  • Regex timeout ve ReDoS riskinin azaltılması
  • checked bağlamı ile tamsayı taşmasını yakalama
  • SQL enjeksiyonu ve path traversal gibi girdi kaynaklı zafiyetlerden korunma
Modül 4
İstisna yönetimi
  • try/catch/finally akışı ve catch sıralaması
  • Exception filter (catch when) ile koşullu yakalama
  • Özel istisna sınıfı tasarımı ve InnerException zinciri
  • throw ile throw ex farkı ve yığın izinin korunması
  • using ve IDisposable ile kaynak serbest bırakma, await using
  • Global istisna yakalama: AppDomain.UnhandledException ve TaskScheduler.UnobservedTaskException
Günün hedefiKatılımcı gün sonunda Hata stratejileri, Loglama ve izlenebilirlik, Savunmacı test teknikleri ve Statik analiz ve kod kalitesi başlıklarını çalışan örnek kod üzerinde uygulayarak "Hata stratejisi, loglama, test ve analiz" konusunda bağımsız çalışabilir hale gelir.
Modül 1
Hata stratejileri
  • İstisna mı Result<T> mı: beklenen ve beklenmeyen hataların ayrımı
  • Fail-fast ilkesi ve hatayı gizlemenin maliyeti
  • Özel istisna hiyerarşisi tasarımı ve anlamlı mesajlar
  • Polly ile retry, timeout ve circuit breaker politikaları
  • İstisna filtreleri, catch-when ve yeniden fırlatma kuralları
  • Üst katmanda merkezi hata yakalama ve kullanıcıya güvenli mesaj
Modül 2
Loglama ve izlenebilirlik
  • ILogger<T> ve log seviyeleri (Trace–Critical)
  • Serilog ile yapılandırılmış (structured) loglama ve sink'ler
  • Correlation ID ile istekleri uçtan uca izleme
  • Hassas verinin loglara sızmasını önleme (maskeleme)
  • Exception.Data ve bağlam bilgisinin hata raporuna eklenmesi
  • Üretimde log analizi: Seq/ELK ile arama ve uyarı kuralları
Modül 3
Savunmacı test teknikleri
  • Sınır değer ve eşdeğerlik sınıfı analizi
  • Negatif testler: geçersiz girdi, null, boş koleksiyon, aşırı büyük değer
  • FsCheck ile özellik tabanlı (property-based) test
  • Stryker.NET ile mutasyon testi ve test kalitesinin ölçümü
  • Test çiftleri (fake, stub, mock) ile hata enjeksiyonu
  • Hata durumlarını yeniden üreten regresyon testleri
Modül 4
Statik analiz ve kod kalitesi
  • Roslyn analyzer'ları ve CA kuralları (CA1062, CA2000 vb.)
  • .editorconfig ile ekip genelinde kural şiddeti belirleme
  • SonarLint/SonarQube ile kod kokusu ve zafiyet taraması
  • StyleCop ile biçim tutarlılığı
  • CI hattında uyarıları hata sayarak derlemeyi durdurma
  • Kod inceleme (code review) kontrol listesi: savunmacı kodlama maddeleri

Eğitim Kazanımları

Program sonunda katılımcılar:

📐
Sözleşme tasarımı

Guard clause ve ön koşullarla metot sınırlarını net tanımlayabilirsiniz.

🚫
Null güvenliği

Nullable reference types ile NullReferenceException'ı derleme aşamasında yakalayabilirsiniz.

🧾
Girdi doğrulama

TryParse, FluentValidation ve whitelist yaklaşımıyla güvenli girdi işleyebilirsiniz.

⚠️
Hata stratejisi

İstisna ile Result kalıbı arasında bilinçli seçim yapabilirsiniz.

📜
Loglama

ILogger ve Serilog ile üretimde işe yarayan loglar üretebilirsiniz.

🔒
Eşzamanlılık

Değişmezlik ve kilitleme tekniklerini kullanarak thread güvenli kod yazabilirsiniz.

🧪
Savunmacı test

Sınır değer, negatif ve özellik tabanlı testler tasarlayabilirsiniz.

🔧
Statik analiz

Analyzer ve .editorconfig ile ekip standardını otomatik zorlayabilirsiniz.

Kimler İçin Uygundur?

  • C# temelini öğrenmiş
  • hataya dayanıklı kod yazma alışkanlığı edinmek isteyen genç yazılımcılar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
C# temelini öğrenmiş ve hataya dayanıklı kod yazma alışkanlığı edinmek isteyen genç yazılımcılar için uygundur.
Savunmacı kodlama performansı düşürür mü?
Doğru uygulandığında etkisi ihmal edilebilir; hangi kontrolün sınırda, hangisinin iç kodda yapılacağı eğitimde tartışılır.
Hangi araçlar kullanılacak?
Visual Studio, Roslyn analyzer'lar, xUnit, Moq, FluentValidation ve Serilog kullanılır.
Mevcut projeme uygulayabilir miyim?
Evet; nullable'ı kademeli açma ve analyzer'ları ekleme yöntemleri mevcut kod tabanları için gösterilir.
Eğitim sonunda sertifika alacak mıyım?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir. Üçüncü taraf kurumların resmi sınavları (varsa) ayrı olup başvurusu ve ücreti ilgili kuruma aittir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Defensive Coding Fundamentals for C# Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
SeviyeTemel Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

C# ve .NETGetting Started with REST & .NET Core Eğitimi
Yazılım Geliştirme Eğitimleri

Getting Started with REST & .NET Core Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

REST ve .NET Core'a Başlangıç eğitimi: REST ilkeleri, ASP.NET Core Web API, DI, HttpClient, JWT kimlik doğrulama, test ve yayınlama. 2 gün uygulamalı, DVA.

Detayları Gör →
C# ve .NETIntroduction to .NET Core for Web Services Eğitimi
Yazılım Geliştirme Eğitimleri

Introduction to .NET Core for Web Services Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

Web Servisleri için .NET Core Girişi eğitimi: SOAP, REST ve gRPC kavramları, ASP.NET Core servisleri, EF Core veri erişimi, kimlik doğrulama ve test.

Detayları Gör →
C# ve .NETIntroduction to ASP.NET Core Development Eğitimi
Yazılım Geliştirme Eğitimleri

Introduction to ASP.NET Core Development Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

ASP.NET Core Geliştirmeye Giriş eğitimi: ASP.NET Core temelleri: host, DI, MVC, Razor Pages, EF Core, kimlik doğrulama ve yayınlama. 3 gün uygulamalı, DVA.

Detayları Gör →
C# ve .NETIntroduction to ASP.NET Web API Eğitimi
Yazılım Geliştirme Eğitimleri

Introduction to ASP.NET Web API Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

ASP.NET Web API'ye Giriş eğitimi: ASP.NET Web API temelleri: rotalar, HTTP yöntemleri, model binding, güvenlik, EF6 ve IIS yayınlama. 3 gün uygulamalı, DVA.

Detayları Gör →
C# ve .NETİleri Seviye ASP.NET Eğitimi
Yazılım Geliştirme Eğitimleri

İleri Seviye ASP.NET Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

İleri Seviye ASP.NET eğitimi: ASP.NET Core ile kurumsal web uygulamaları: pipeline, kimlik. 4 gün uygulamalı program, Visual Studio 2022, .NET 8 SDK ile. Digita

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn