Koşulları Parçalarına Ayırma (Reverse Conditional)
TaxCalculator sınıfı, uygulamanın kullanıldığı ülkeye bağlı olarak katma değer vergisini ihtiva eden fiyatı hesaplamak için kullanılmaktadır. package com.kurumsaljava.refactoring.reverseconditional;...
View ArticleYeni Metot Oluşturma (Extract Method)
Uzun metotları daha okunabilir ve kompak hale getirmek için Extract Method refactoring metodunu kullanabiliriz. private Double calculatePrice(double price, String locale) { Double result; double...
View ArticleParametrele Değer Atamasının Kaldırılması (Remove Assignments to Parameters)
Metot imzasında yer alan parametrelere metot bünyesinde değer atanmamalıdır. Bu gibi atamalar istenmeyen sonuçlar doğurabilir. Remove Assignments to Parameters refactoring metodu kullanılarak bu tür...
View ArticleGeçici Değişkenlerin Sorguya Dönüştürülmesi (Replace Temp with Query)
Bir metot bünyesinde bir işlemin sonucu geçici bir değişkende saklanabilir. Aşağıda yer alan kod örneğinde basePrice geçici bir değişkendir ve ihtiva ettiği değer fiyat * adet şeklinde...
View ArticleRefactoring Oturumu (Video)
Bu refactoring oturumu bünyesinde mevcut sınıfı aşağıda yer alan refactoring metotlarını kullanarak yeniden yapılandırdım: Koşulları Parçalarına Ayırma (Reverse Conditional) Yeni Metot Oluşturma...
View ArticleMetodu Metot Nesnesine Dönüştürme (Replace Method with Method Object)
Metodu Metot Nesnesine Dönüştürme (Replace Method with Method Object) refactoring metodu aşağıdaki durumlarda kullanılabilir: Çok sayıda lokal değişken Yeni Metot Oluşturma (Extract Method) refactoring...
View ArticleKoşullu Mantığın Komut İle Değiştirilmesi (Replace Conditional Dispatcher...
Strateji tasarım şablonu için bakınız… Open Closed Principle tasarım prensibi için bakınız…
View ArticleYeni Sınıf Oluşturma (Extract Class)
Bir sınıfın yüzlerce ya da binlerce satırdan oluşmasının ana sebeplerinden birisi bu sınıfa birden fazla sorumluluğun yüklenmiş olmasıdır. Single Repsonsiblity (SRP) prensibinden de bildigimiz gibi her...
View ArticleParametrik Konstruktör (Parameterize Constructor)
Bir sınıf konstruktörü bünyesinde oluşturulan nesne, bu sınıfın test edilmesini zorlaştırır. Bunun bir örneğini EmployeeManager sınıfında görmekteyiz. Sınıf değişkeni olan dao konstruktör bünyesinde...
View ArticleKataların Anası
Java ve diğer dillerde kullanılan switch komutu OCP tasarım şablonuna ters düşmekle beraber, kodun bakımı ve geliştirilmesini zorlaştırmaktadır. Martin Fowler Refactoring isimli kitabında yer alan...
View ArticleKodKata.com
Yeni projem KodKata.com yayında. Kod Kata ve Pratik Yapmanın Önemi başlıklı yazımdan sonra günlük pratik yapmak için kullandığım kataları sizinle paylaşmak istedim. EOF (End Of Fun) Özcan Acar
View Article
More Pages to Explore .....