Bu dava ile dava. Ama inanmayarak ile argüman "Tüm yeniden yazılmasının mahkumdurlar" alacaktı. Ben kendi programlama hayatı yansıtmak üzere, hemen hemen her zaman boyunca başka bir yazılım bazı yeniden yazma / üstlenmeden / taşıma olmuştur. Kez değiştirmek gibi, paradigma ve platform vardiya, ancak ihtiyaçların çoğu zaman aynı kalır. Bir bakıma, bilgisayar ve programlama tarih yazımının bir geçmişi olmuştur.
Kötü bir platformu ile çalışan, veritabanı olmayan veritabanı backend, spagetti kod yazılı yıl önce çoğaltma vb ile dolu., Sonuçta IMHO hızlı değişime uyum yeteneği yazılımın en önemli kısmını, düşecek. Bunu hızlı değişikliklere adapte istemiyordu Eğer sadece bir donanım yapmak, "yumuşak" ware demiyorlar.
Tam yazımının bir örneği bir opensource 3D heykel programı ben ve diğerleri Java 3D kullanarak yazdı. Neredeyse her şeyi tamamladıktan sonra, Java 3D kullanarak kötü bir karar olduğunu fark etti. Gerçekten gerçek nedeni neydi hatırlamıyorum, ama ölçeklenebilirlik, performans ve kullanılabilirlik Linux üzerinde ya da onun gibi bir şey olduğunu düşünüyorum. Sonra bazı düşünce biz herhangi bir spec değiştirmeden C + + / OpenGL / wxWindow taşıdık. Tüm sabit düşünme zaten yapıldığını kısmen çünkü bu büyük bir anlaşma olduğunu sanmıyorum ve platformunun kendisi üzerinde çok fazla bağımlılık yoktu.
Yeniden yazımlar başarılı olabilir, ama geliştiriciler taşıma yapılır kadar özellikler eklemek için güdüsünden gerekir. Bir spec sahip değil, tahmin güvenilmez hale getirecek ve bu nedenle proje gecikme olacak ve proje pazar veya paydaş tarafından terk edilme riskini taşır. Ama bu yeni bir şey değil. O dedi, kesinlikle yeniden bazı yukarıdan aşağıya tasarım kararları ve birim gibi "en iyi uygulamalar" koymak için büyük bir fırsat test edilebilir, KURU, MVC, yazma-to-arabirim, kodlama-kongre, kolektif mülkiyet kodu.