3. CLEAN CODE
Clean Code(Temiz Kod) için kaliteli kod diyebiliriz. Kodun kaliteli olması satır sayısı,method
sayısı class sayısı ve bunların içindeki kod satırlarının okunabilirliği/değiştirilebilirliği herhangi
bir değişikliklik sırasında etkilenecek diğer method/class ların sayısı ile doğrudan alakalıdır.
Avantajları
• Kolay Bakım
• Hatalara müdahalenin kolaylasması
• Kolay Düzenleneme
• Ek modül geliştirmede kolaylık
• Personel degisikliginde yeni personelin kolay uyum sağlaması.
Dezavantajları
• Proje geliştirme suresinin uzaması
• Gerekli uzman personel maliyeti
5. CODE REVIEW
Yazılan kodların başka bir yazılımcı/yazılımcılar tarafından kontrol edilip kodu
yazan yazılımcıya hesap sorulmasıdır.
Code Review Sırasında Dikkat Edilmesi Gereken Noktalar
• Sirketin/uygulamanın geliştirildiği dilin isimlendirme standartlarına uyuluyor mu
• Kod satırları kolay anlasılabiliniyor mu
• Nested Loop(İç içe döngü) var mı var ise kaldırılabilinir mi
• Loglama yapısı sağlıklı çalışıyor mu
• Methodlarda belirlenen satır sayıları asilmis mi
• Classlarda belirlenen method sayilari asilmis mi
• Tercih edilen cozumun daha maliyetsiz bir yolu var mı
6. PATTERN
Yazılım gelistirme sırasında birbirine benzeyen problemler ile sürekli
karşılaşırız.Ornek yapılan işlem sonucu bir output oluşturmak veri tabanından veri
çekmek/veri eklemek/veri duzenlemek vb.Pattern ise bu tarz problemleri cozmek
amaci ile 1 kere gelistirdigimiz ve defalarca kullandıgımız
yöntemler/yaklasimlardir.
En Cok Bilinen Oop Patternler
• Mvc
• Singleton Pattern
• Strategy Pattern
• Factory Pattern
7. ANTI PATTERN
Bir problemin çözümünde kullanılan kötü çözümleri belirten bir kavramdır.
Yazılım gelistiriren surekli problemler ile karsilasip bunlari cozmeye calisiriz
ancak cozumumuz cogu zaman gunu kurtarsada planlanmadan yazılan
kod satirlari projenin esnekligine ve performansina kotu olarak etki eder.
Anti patternler ilk bakildiginda iyi bir cozume benzer ancak gelecekte
sorunlara yol acar.
8. EN COK KARSILASILAN ANTI PATTERNLER
• Premature Optimization (Erken Optimizazyon)
• Analysis Paralysis(Analiz Felci)
• God Class(Tanrı Class)
• Magic Numbers And Strings(Sihirli rakamlar ve yazılar)
• Over Engineering(Asiri Muhendislik)