SOLID Prensipleri: Kodu Değişime Dayanıklı Kılan 5 Kural
SOLID prensiplerinin her biri C# örnekleriyle, ihlal senaryosu ve düzeltmesiyle anlatılıyor. Sadece tanım değil, gerçek kod kokusunu yakalamayı öğrenin.
Bu içerik, kıdemli yazılım mühendisliği mülakatlarının vazgeçilmez konusu olan SOLID prensiplerini yüzeysel tanımların ötesine taşıyarak ele alıyor. Her prensip için sade bir açıklama, günlük hayattan bir benzetme, gerçek bir C# ihlal örneği ve bu ihlali düzelten refactoring kodu sunuluyor. Amaç, harfin ne anlama geldiğini ezberletmek değil, her prensibin yakalamaya çalıştığı kod kokusunu göstermek.
Tek Sorumluluk Prensibi'nin (SRP) "bir sınıf tek bir şey yapmalı" şeklindeki yaygın yanlış yorumuna dikkat çekilerek, asıl kriterin "değişikliğin tek bir nedene mi karşılık geldiği" olduğu vurgulanıyor. Açık/Kapalı Prensibi (OCP) için büyüyen switch-case yapılarının nasıl polimorfizmle çözüldüğü gösteriliyor; her yeni durum, mevcut kodu değiştirmeden yeni bir sınıf eklenerek karşılanıyor. Liskov Yerine Geçme Prensibi (LSP) ise klasik Rectangle-Square örneğiyle, alt sınıfların üst sınıfın davranış beklentilerini bozmadan yerine geçebilmesi gerektiği üzerinden anlatılıyor.
Bu yaklaşım, mühendislerin SOLID'i soyut kurallar listesi olarak değil, gerçek kod tabanlarında karşılaşılan bakım sorunlarını önceden fark etme aracı olarak görmesini sağlıyor. Özellikle mülakat hazırlığı yapan ya da mevcut kod tabanını refactor eden mühendisler için pratik bir referans niteliği taşıyor.