REFACTORING
Devam etmekte olan kurumsal yazılım projelerinin büyük çoğunluğu, spagetti kodlar ve güncellenmemiş mimarilerin sistem için yetersiz kalmasından dolayı;
• Zamanlama (Time to Market),
• Değişime cevap verme,
• Üretkenlik,
• Kalite,
noktalarında problemler yaşamaktadır. Bu problemleri aşmada izlenebilecek en iyi yollardan biri mevcut fonksiyonalitenin korunarak dizaynın geliştirilmesidir. Bu işlemin yapılabilmesi için kodlama seviyesinde çalışan personelin mevcut kodun açıklarını yakalayabilmesi ve bunları geliştirebilecek şablonlara hakim olması kritik önem taşımaktadır. Refactoring eğitimi sırasınca;
• Mevcut fonksiyonaliteyi bozmadan dizaynı geliştirme,
• Anlaşılması kolay kodlar üretme,
• Değiştirmesi kolay kodlar üretme,
• Kod tekrarını azaltmak,
• Tekrar kullanılabilen kodlar üretme,
• Hata oranı düşük kodlar üretme,
• Yazılım projelerinde üretkenlik ve kalitenin artması
gibi konularda örnek uygulamalar üzerinde çalışılacaktır.
EĞİTİMİN İÇERİĞİ
1. Gün
- Giriş
- Refactoring ve önemi
- Kodda “bad smell”in tespit edilmesi
- Çeşitli temel teknikler
- Refactoring ve önemi
- Kodda “bad smell”in tespit edilmesi
- Çeşitli temel teknikler
Extract method
Move method
Move Field
Replace conditional with polymorphism
- Örnek uygulamaMove method
Move Field
Replace conditional with polymorphism
2. Gün
- Mevcut fonksiyonalitenin korunması
- Refactoring teknik kataloğu ve uygulama noktaları
- Örnek uygulama
- Geniş kapsamlı refactoringler
Unit test ve mock kullanımı
Örnek uygulama
- Basit dizayn prensipleriÖrnek uygulama
- Refactoring teknik kataloğu ve uygulama noktaları
- Örnek uygulama
- Geniş kapsamlı refactoringler
KİMLER KATILMALI
Eğitim, mevcut projelerinde kalite ve üretkenlik sorunu yaşayan, en az 6 ay programlama deneyimi olan, Design Pattern’ları anlayabilecek ve uygulayabilecek seviyede Object Oriented programlama deneyimi olan tüm yazılım uzmanlarına, yazılım mimarlarına, bilgi işlem yöneticilerine ve akademisyenlere yöneliktir.
Eğitim öncesi katılımcıların aşağıdaki kaynak ve toolları incelemeleri önerilmektedir;
www.junit.org
www.jmock.org
Design Patterns: Elements of Reusable Object-Oriented Software
Eclipse
Java 1.5