Uygulamaların yeniden yazılmasının kötü olduğu, insanların burada programcılarla ilgili deneyimleri ve bu konuda Joel Spolsky tarafından hazırladığım bir yazı olduğunu , ancak katı kanıtlar veya vaka çalışmaları ile ilgili çok sayıda yazı gördüm . Joel'in verdiği iki örnek ve burada başka bazı yazılar dışında, kötü bir kod temeli ile ne yaparsınız ve gerçek çalışmalara dayanarak ne yapacağınıza nasıl karar verirsiniz?
Söz konusu durum için, her ikisi de eski eski kodlara sahip olduğunu bildiğim iki müşteri var. İçlerinden ayrılmaya devam ediyorlar çünkü bir tanesinin yazdığı gibi, yeniden yazma bir felaketti, pahalıydı ve gerçekten kodu geliştirmek için çalışmadı. Bu müşterinin yeniden yazanlar hızlıca öğrendiği gibi çok karmaşık bir iş mantığı var.
Her iki durumda da, bunlar şirket için çok fazla gelir getiren önemli uygulamalardır. Yeniden yazma girişiminde bulunan kişi, eski yazılımın gelecekte bir noktada yükseltilmemesi durumunda bir tuğla duvara çarpacaklarını hissetti. Bana göre, bu tür bir risk, başarılı bir yol sağlamak için araştırma ve analiz yapılmasını garanti ediyor.
Bunu araştıran gerçek vaka çalışmaları oldu mu? Gerçek çalışmalara dayanan bazı en iyi uygulamaları, tuzakları ve başarıları bilmeden büyük bir yeniden yazma girişiminde bulunmak istemem.
Sonrasında: tamam, daha fazla arama yaptıktan sonra, vaka çalışmaları hakkında üç ilginç makale buldum:
- Yeniden Yaz veya Yeniden Kullan . Java'ya dönüştürülmüş bir Cobol uygulaması üzerinde bir çalışma yaptılar.
- Diğeri Yazılımın Yeniden Kullanımı idi: Geliştiricilerin Deneyimleri ve Algıları .
- Yeniden Kullanma veya Yeniden Yazma Yeniden yazma ile karşılaştırıldığında bakım maliyetleri ile ilgili başka bir çalışma.
Geçenlerde konuyla ilgili başka bir makale buldum: The Great Rewrite . Orada yazarın bazı önemli meselelere çarptığı görülüyor. Bununla birlikte, önerilen yeni teknoloji yığını kullanarak prototip oluşturma ve cihazların ne kadar hızlı topladıklarını ölçme fikri de vardı. Bunların hepsi, yeniden yazmak için harika bir fikir olduğunu düşündüm.