Genel içgüdü, kodda gördüğünüz kod çoğaltmayı kaldırmaktır. Ancak, kendimi çoğaltmanın aldatıcı olduğu bir durumda buldum .
Durumu daha ayrıntılı olarak açıklamak için: Bir web uygulaması geliştiriyorum ve çoğu görünüm temelde aynı - kullanıcının kaydırıp seçebileceği öğelerin bir listesini, seçilen öğeleri içeren ikinci bir listeyi ve "Kaydet "Yeni listeyi kaydetmek için" düğmesine basın.
Bana problemin kolay olduğu görünüyordu. Ancak, her bir görüntünün kendi tuhaflıkları vardır - bazen bir şeyi yeniden hesaplamanız gerekir, bazen bazı ek verileri vb. Saklamanız gerekir. Bunlar, ana mantık koduna geri çağırma kancaları ekleyerek çözdüm.
Orada o kadar çok Temelde bütün işlevselliği için geri aramalar sağlamanız gerekir, çünkü daha az sürdürülebilir hale gelmektedir görünümler arasında dakikalık farklar ve ana mantık geri arama çağırmaları büyük dizisine benzemeye başlar. Sonunda hiçbir zaman veya kod kaydetmiyorum, çünkü her görüntünün kendi kodunun yürütülmesi - tümü geri aramalarda.
Sorunlar:
- farklar öyle ki öyle ki kod bütün görünümlerde neredeyse tamamen aynı görünüyor.
- o kadar çok fark var ki, ayrıntılara baktığınızda, kodlama biraz benzemiyor
Bu durumu nasıl ele almalıyım?
Çekirdek mantığın tamamen geri arama çağrılarından oluşması iyi bir çözüm mü?
Yoksa kodu kopyalayıp geri arama kodunun karmaşıklığını düşürmeyi tercih etmeli miyim?