ACM

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
Extract method
Move method
Move Field
Replace conditional with polymorphism
- Örnek uygulama

2. Gün

- Mevcut fonksiyonalitenin korunması
Unit test ve mock kullanımı
Örnek uygulama
- Basit dizayn prensipleri
- 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