ROLE OF TESTING IN MANAGING CLEAN CODE EĞİTİMİ

Testle temiz kodu koruyun

Temiz kod, TDD, legacy kodda test, SOLID, BDD ve CI kalite kapılarıyla kodu güvenle yönetin.

Eğitim, temiz kodu sürdürmenin test olmadan mümkün olmadığını gösterir. Temiz kod ilkeleri ve kod kokularıyla başlar, TDD döngüsü, test double'lar ve test piramidiyle devam eder.

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Üç günde testin temiz kod ve refactoring üzerindeki rolü

Eğitim, temiz kodu sürdürmenin test olmadan mümkün olmadığını gösterir. Temiz kod ilkeleri ve kod kokularıyla başlar, TDD döngüsü, test double'lar ve test piramidiyle devam eder. Legacy kodu karakterizasyon testleriyle güvenceye alır, seam ve bağımlılık kırma teknikleriyle refactor eder, SOLID ve DI ile test edilebilir tasarım kurarsınız. Son gün BDD, mutasyon testi, SonarQube kalite kapıları ve CI ile süreci otomatikleştirirsiniz.

Süre ve Format

3 Gün. Her gün dört modül; sabah kavram anlatımı, öğleden sonra bozuk bir kod tabanı üzerinde test ve refactoring egzersizi.

Seviye

Orta Seviye — Temiz kod, TDD, legacy kod, test edilebilir tasarım, BDD ve CI kalite kapıları.

Öğrenme Metodu

Katılımcılar testsiz bir legacy uygulamaya önce karakterizasyon testi ekler, ardından küçük adımlarla refactor eder ve CI kalite kapısını yeşile döndürür.

Neden Bu Eğitim?

🛡️Güvenli Refactoring

Testle çevrelenmiş kodu korkmadan değiştirirsiniz.

📉Teknik Borç Kontrolü

Kalite kapılarıyla borcun artmasını otomatik yakalarsınız.

🧪Doğru Test Dengesi

Test piramidine göre hızlı ve anlamlı testler yazarsınız.

Anahtar Konular

temiz kod eğitimiclean code testTDD eğitimilegacy kod refactoringkarakterizasyon testimutasyon testiBDDsonarqubebirim test
“Testi olmayan kod, yalnızca henüz bozulmamış koddur.”

Ön Koşullar

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

1
OOP Deneyimi

Java veya C# ile en az bir yıl geliştirme deneyimi.

2
Test Temeli

JUnit veya xUnit ile en az bir test yazmış olmak.

3
Git

Temel Git komutları.

4
Çalışma Ortamı

Maven/Gradle veya .NET SDK kurulu IDE.

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ı kod kokularını tespit eder, TDD ile birim test yazar ve test edilebilir tasarım kurar.
Modül 1
Temiz Kod İlkeleri
  • Anlamlı adlandırma ve niyeti açık eden isimler
  • Küçük fonksiyonlar: tek iş, tek soyutlama seviyesi
  • Yorum yerine kodla ifade ve gerekli yorum türleri
  • Yinelemeyi kaldırma (DRY) ve yanlış soyutlama riski
  • Hata işleme: null yerine Optional/Result, istisna sınırları
  • Boy Scout kuralı ve sürekli iyileştirme
Modül 2
Anti-Pattern ve Kod Kokuları
  • God Object, Spaghetti Code ve Lava Flow anti-pattern'leri
  • Singleton'ın aşırı kullanımı ve gizli bağımlılık sorunu
  • Anemic Domain Model ve işlem betiği yığılması
  • Fowler kataloğundan Long Method, Feature Envy, Shotgun Surgery, Data Clumps
  • Golden Hammer ve resume-driven development eğilimleri
  • Her kokunun hangi refactoring veya desenle giderildiği
Modül 3
Birim Test ve TDD
  • Test piramidi: birim, entegrasyon, uçtan uca
  • Red-Green-Refactor döngüsü
  • Arrange-Act-Assert ve test adlandırma
  • Test double türleri: dummy, stub, spy, mock, fake
  • JUnit/xUnit/NUnit ve parametrik testler
  • Kod kapsamı (coverage) ve mutasyon testine giriş
Modül 4
Test Edilebilir Tasarım
  • Test edilebilirlik ve bağımlılık enjeksiyonu ilişkisi
  • Saf fonksiyon ve yan etkilerin sınırda toplanması
  • Zaman, rastgelelik ve I/O soyutlama (Clock, Random)
  • Test verisi oluşturma: Object Mother ve Test Data Builder
  • Test kokuları: kırılgan, yavaş, belirsiz (flaky) testler
  • Contract test ve entegrasyon testi sınırlarını belirleme
Günün hedefiKatılımcı legacy kodu karakterizasyon testleriyle güvenceye alır, desene dönüştürür ve SOLID/DI ile gevşek bağlar.
Modül 1
Legacy Kodda Test ve Refactoring
  • Characterization test ile mevcut davranışı sabitleme
  • Seam kavramı ve bağımlılık kırma teknikleri (Feathers)
  • Extract and Override, Wrap Method ve Sprout Class
  • Golden master / approval testing
  • Statik bağımlılık ve Singleton'ı test edilebilir hale getirme
  • Refactoring kararı için risk ve değer ölçütleri
Modül 2
Refactoring ile Desene Geçiş
  • Extract Method, Extract Class ve Extract Interface adımları
  • Replace Conditional with Polymorphism ile Strategy/State'e geçiş
  • Replace Constructor with Factory Method ve Builder'a evrim
  • Introduce Parameter Object ve Null Object kullanımı
  • Kerievsky'nin 'Refactoring to Patterns' yaklaşımı
  • Her adımda birim testle davranışın korunması
Modül 3
SOLID İlkeleri
  • SRP: değişim nedeni kavramı ve sorumlulukların ayrıştırılması
  • OCP: soyutlama ile genişleme, if-zincirlerinin temizlenmesi
  • LSP: sözleşmeyle tasarım ve Kare-Dikdörtgen ihlali
  • ISP: şişkin arayüzün rol arayüzlerine bölünmesi
  • DIP: yüksek seviyeli modülün soyutlamaya bağımlı kılınması
  • Kod kokularından SOLID ihlali tespiti ve düzeltme sırası
Modül 4
Dependency Injection ve IoC
  • Constructor, setter ve method injection farkları ve tercih ölçütleri
  • Inversion of Control ile Dependency Inversion ilkesinin farkı
  • Spring ve Microsoft.Extensions.DependencyInjection konteyner kullanımı
  • Yaşam süreleri: transient, scoped, singleton ve captive dependency hatası
  • Service Locator'ın anti-pattern olarak değerlendirilmesi
  • Composition Root ve test için sahte (mock) bağımlılık enjeksiyonu
Günün hedefiKatılımcı CI kalite kapıları kurar, BDD ile kabul testleri yazar, tasarımı sadeleştirir ve desen kararlarını sunar.
Modül 1
Sürekli Entegrasyonda Kalite Kapıları
  • Statik analiz: SonarQube kural setleri, linter ve formatter
  • Kapsam eşiği (quality gate) ve yeni kod kapsamı
  • Mutasyon testi: PIT, Stryker ile testin gücünü ölçme
  • Pre-commit kancaları ve PR şablonları
  • Kod inceleme kontrol listesi: okunabilirlik, test, güvenlik
  • Teknik borç görünürlüğü ve backlog'a dönüştürme
Modül 2
BDD ve Kabul Testleri
  • Given-When-Then biçiminde Gherkin senaryoları
  • Cucumber / SpecFlow ile adım tanımları
  • Üç Amigo oturumları: iş, geliştirme, test
  • Yaşayan dokümantasyon olarak kabul testleri
  • API düzeyinde kabul testi ve test verisi yönetimi
  • Kabul testi ile birim testi sorumluluk sınırı
Modül 3
OOP Tasarım Temelleri
  • Yüksek uyum (cohesion) ve düşük bağlaşım (coupling)
  • Law of Demeter ve 'Tell, Don't Ask' ilkesi
  • Sözleşmeyle tasarım: ön koşul, son koşul, değişmez
  • Değişmezlik ve yan etkisiz metotlar
  • Küçük arayüz, açık niyet: adlandırma ve API tasarımı
  • Basit sınıf diyagramı ile tasarımı iletme
Modül 4
Desen Seçimi ve Takım Pratiği
  • Problemden desene eşleme tablosu hazırlama
  • MVC içinde Observer, Strategy ve Composite birlikteliği
  • Desenin maliyeti: ek soyutlama katmanı ve okunabilirlik
  • Kod incelemesinde desen kararını gerekçelendirme
  • Vaka çalışması: e-ticaret sipariş ve kampanya modülü
  • Takımda ortak desen sözlüğü ve ADR ile karar kaydı

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Temiz Kod

Okunabilir, niyeti açık ve bakımı kolay kod yazma disiplinini uygulayabilirsiniz.

🔧
TDD Pratiği

Önce test yazarak tasarımı yönlendirip hızlı çalışan birim testler hazırlayabilirsiniz.

🧠
Test Edilebilirlik

Bağımlılıkları soyutlayarak testi kolay, kırılgan olmayan tasarımlar kurabilirsiniz.

📐
Güvenli Dönüşüm

Birim testlerle korunan küçük adımlarla mevcut kodu desene dönüştürebilirsiniz.

🧩
SOLID Uygulama

Mevcut sınıflardaki SOLID ihlallerini tespit edip adım adım düzeltebilirsiniz.

🛡️
Kalite Otomasyonu

CI hattında kalite kapıları kurarak temiz kodu otomatik denetleyebilirsiniz.

📊
Kabul Testleri

Gherkin senaryolarıyla iş gereksinimlerini çalıştırılabilir kabul testlerine dönüştürebilirsiniz.

🚀
Karar Gerekçesi

Desen kararlarınızı maliyet ve fayda açısından gerekçelendirip takımla paylaşabilirsiniz.

Kimler İçin Uygundur?

  • Mevcut kod tabanlarını güvenle iyileştirmek isteyen geliştiriciler
  • test mühendisleri
  • takım liderleri

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Mevcut kod tabanlarını güvenle iyileştirmek isteyen geliştiriciler, test mühendisleri ve takım liderleri.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.
Eğitim kaç gün sürer ve nasıl işlenir?
Eğitim 3 gündür; katılımcılar testsiz bir legacy uygulamaya önce karakterizasyon testi ekler, ardından küçük adımlarla refactor eder ve CI kalite kapısını yeşile döndürür.
TDD zorunlu olarak mı öğretilir?
TDD bir araç olarak öğretilir; legacy kodda her zaman uygulanamayacağı da gösterilir ve alternatif teknikler anlatılır.
Hangi test araçları kullanılır?
JUnit / xUnit, Mockito / Moq, Cucumber, PIT / Stryker ve SonarQube kullanılır.

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. Role of Testing in Managing Clean Code Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

Yazılım Mimarisi ve Tasarım DesenleriSistem Mühendisliği SysML ve UML Kullanarak Eğitimi
Yazılım Geliştirme Eğitimleri

Sistem Mühendisliği SysML ve UML Kullanarak Eğitimi

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

Sistem mühendisliği SysML ve UML eğitimi: MBSE, V-modeli, bdd/ibd, gereksinim ve parametrik diyagramlar, OCL ve araç uygulamaları, 4 gün.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriSoftware Design and Development: Design Patterns & SOLID Principles Eğitimi
Yazılım Geliştirme Eğitimleri

Software Design and Development: Design Patterns & SOLID Principles Eğitimi

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

Software Design and Development: Design Patterns ve SOLID Principles eğitimi. GoF desenleri, DI, anti-pattern ve refactoring ile 3 gün uygulamalı.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriSoftware Design and Development: Modeling with UML Eğitimi
Yazılım Geliştirme Eğitimleri

Software Design and Development: Modeling with UML Eğitimi

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

Software Design and Development: Modeling with UML eğitimi. Use case, sınıf, sıra, durum, etkinlik, dağıtım diyagramları, OCL ve çevik modelleme. 3 gün.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriSoftware Design and Development: Object-oriented Analysis and Design Eğitimi
Yazılım Geliştirme Eğitimleri

Software Design and Development: Object-oriented Analysis and Design Eğitimi

4 günOrtaOnline / Yüz Yüze / Hibrit

OOAD eğitimi: use case, domain model, GRASP, sıra/durum/etkinlik diyagramları, SOLID ve GoF desenleri. Software Design and Development serisi, 4 gün.

Detayları Gör →
Yazılım Mimarisi ve Tasarım DesenleriStructures of Object-oriented Programming Eğitimi
Yazılım Geliştirme Eğitimleri

Structures of Object-oriented Programming Eğitimi

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

Structures of Object-Oriented Programming eğitimi: class, struct, record, interface, kalıtım, generics, UML ve temel desenler. Orta seviye 3 gün uygulamalı.

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