" Tekerleği yeniden icat " antipattern oldukça yaygındır - hazır bir çözüm kullanmak yerine, sıfırdan kendi başınıza yazınız. Kod tabanı gereksiz yere büyür, aynı şeyi yapan, ancak biraz farklı bol olan biraz farklı arayüzler , hazır olan fonksiyonları yazmak (ve hata ayıklamak!) İçin zaman harcanır. Bunu hepimiz biliyoruz.
Ama spektrumun karşı tarafında bir şey var. İki kod satırı olan kendi işlevinizi yazmak yerine, bir çerçeve / API / kütüphane alırsınız, onu başlatır, yapılandırır, bağlamı çerçeve tarafından kabul edilebilir şekilde veri türüne dönüştürür, sonra tam olarak ihtiyacınız olanı yapan tek bir işlev çağırırsınız, soyutlama katmanlarının bir gigabaytının altında iki iş mantığı satırı. Ardından kütüphaneyi güncel tutmanız, yapı bağımlılıklarını yönetmeniz, lisansları senkronize tutmanız gerekir ve bunun başlatılması kodunuz, yalnızca "tekerleği yeniden icat etmekten" ziyade on kat daha karmaşık ve karmaşıktır.
Sebepler değişebilir: yönetim, maliyet ne olursa olsun, "tekerleğin yeniden icat edilmesine" kesinlikle karşı çıkmaktadır, birisi ihtiyaç duydukları marjinal örtüşmelere rağmen tercih edilen teknolojisini zorlar, sistemin eskiden önemli bir modülünün azalan rolü veya genişleme ve genişleme beklentisi henüz hiç gelmemiş olan veya sadece "ağırlığı" yanlış anlayan çerçevenin kullanılması, birkaç ithalat / include / load talimatı "perde arkasında" taşır.
Bu antipattern için ortak bir isim var mı?
(Doğru ya da yanlış olduğunda bir tartışma başlatmaya çalışmıyorum ya da gerçek bir antipattern ya da herhangi bir görüşe dayanıyorsa , bu basit ve basit bir isimlendirme sorusudur.)
Düzenleme: önerilen “yinelenen”, tamamen harici sistemlerden ayrı olarak “her şey için hazır” olması için kendi kodunu değiştirmekten bahsediyor. Bu şey bazı durumlarda ondan kaynaklanıyor olabilir, ancak genellikle “tekerleği yeniden icat etmekten kaçınmak” dan kaynaklanır - kodun her ne pahasına olursa olsun yeniden kullanımı; Bizim soruna bir "hazır" çözüm varsa, biz olacak o uyuyor ve ne gelir mal de ne kadar kötü olursa olsun, onu kullanın. Yeni kodun oluşturulması ve sürdürülmesi ile karşılaştırıldığında, bu bağımlılıkların entegrasyon ve bakım maliyetlerini tamamen göz ardı ederek, kod çoğaltması üzerine yeni bağımlılıklar yaratılmasının dogmatik olarak desteklenmesi.