Son zamanlarda, ben için çalışıyorum projesi birinde çok güçlü bir kod kokusu belirledik.
Özellikle, maliyet sayma özelliği. Bazı operasyon için toplam maliyetini saymak için, "ayrıştırıcı sınıf" bilgi birçok çeşit geçmek zorunda.
Örneğin:
- telefon numaraları
- Seçilen kampanyalar
- Seçilen şablonlar
- Seçilen kişiler
- Seçilen grup
- ve yaklaşık 2-4 bilgiler türleri daha
Üstlenmeden önce tüm bu parametreler Sayaç sınıf kurucusunu geçirildi vardı (görüntü bu olabilir 8 parametreleri, ..).
Ben tüm bu özelliklere okunabilir alıcılar ve ayarlayıcıları ile CostCountingData adında bir veri sınıfı, girmiştik okunabilirliği artırmak için.
Ama bu kod bu üstlenmeden sonra çok daha okunabilir hale geldiği, sanmıyorum:
$cost_data = new CostCountingData();
$cost_data->setNumbers($numbers);
$cost_data->setContacts($contacts);
$cost_data->setGroups($groups);
$cost_data->setCampaigns($campaigns);
$cost_data->setUser($user);
$cost_data->setText($text);
$cost_data->setTotalQuantity($total_quantity);
$CostCounter = new TemplateReccurentSendingCostCounter($cost_data);
$total_cost = $CostCounter->count();
Can you tell me whether there is some problem with readability of this code snippet? Maybe you can see any code smells and can point me at them..
Ben bu kodu refactore nasıl sahip tek fikir, ilgili veri türlerini kapsayan, çeşitli için bu büyük veri nesnesi parçalanmasıdır. Ama bu ya da değil yapmalıyım emin değilim ..
Whay bunun hakkında ne düşünüyorsunuz?