SlideShare a Scribd company logo
1 of 8
CLEAN CODE
İlker ERHALİM
 Clean Code
 Code Review
 Pattern
 Anti-Pattern
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
ANAHTAR KELIMELER
• DRY(Don’t Repeat Yourself)
• YAGNI(You Aren’t Gonna Need It)
• KISS(Keep It Simple Stupid)
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ı
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
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.
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)

More Related Content

Similar to Clean Code

Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter SunumuÖzgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
ibrahimhizlioglu
 

Similar to Clean Code (11)

PhpSpec ve TDD
PhpSpec ve TDDPhpSpec ve TDD
PhpSpec ve TDD
 
Unit testing
Unit testingUnit testing
Unit testing
 
Temiz Kod
Temiz KodTemiz Kod
Temiz Kod
 
Test
TestTest
Test
 
Software development life cycle yazılım geliştirme yaşam döngüsü
Software development life cycle   yazılım geliştirme yaşam döngüsüSoftware development life cycle   yazılım geliştirme yaşam döngüsü
Software development life cycle yazılım geliştirme yaşam döngüsü
 
Yazılım Kalitesi
Yazılım KalitesiYazılım Kalitesi
Yazılım Kalitesi
 
Test Güdümlü Geliştirme ve Birim Testler
Test Güdümlü Geliştirme ve Birim TestlerTest Güdümlü Geliştirme ve Birim Testler
Test Güdümlü Geliştirme ve Birim Testler
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme Teknikleri
 
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter SunumuÖzgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
Özgür Web Teknolojileri Günleri 2010 - İbrahim Hızlıoğlu // CodeIgniter Sunumu
 
Yazılım mimarisi yazılım müh.
Yazılım mimarisi yazılım müh.Yazılım mimarisi yazılım müh.
Yazılım mimarisi yazılım müh.
 

Clean Code

  • 2.  Clean Code  Code Review  Pattern  Anti-Pattern
  • 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
  • 4. ANAHTAR KELIMELER • DRY(Don’t Repeat Yourself) • YAGNI(You Aren’t Gonna Need It) • KISS(Keep It Simple Stupid)
  • 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)