Ben, ben ve ben, hem üretici hem de eski kuralların koruyucusuyuz. Eğer aracınız "binlerce ihlal" yaratıyorsa (veya bu konuda yüzlerce kişi bile varsa), aracı unutun, bu durum için geçerli değildir ...
Orijinal geliştiricilerin uzun zaman önce gittiğini ve tartışma için uygun olmadığını düşünüyorum. Bu yüzden etrafta kim olduğunu ve tasarım ve kodlama stilini nereden bilen yok. Yüzlerce veya binlerce ihlalin düzeltilmesi burada ve oradaki birkaç kod satırının yeniden yazılmasıyla ilgili değildir. Bunun yerine, şüphesiz ki yeniden yapılandırma / yeniden fonksiyonel ayrıştırma gerektirir. Bunu, mevcut tasarımını tam olarak anlamadan, varolan herhangi bir büyük kod tabanına yapmayı denersiniz ve yepyeni bir hata / sorun / vb. Seti ortaya koymak zorundasınız. Sadece yeni bir solucan kutusundan, şimdi sahip olduğunuzdan daha da kötü (veya aletinizin şimdi sahip olduğunuzu düşündüğü <<'den daha kötü).
“Binlerce ihlali” ele almak için tek mantıklı yaklaşım sıfırdan yeniden yazmak olacaktır. Uzun ve pahalı bir çaba ve yönetime satmak neredeyse imkansız. Ve bu durumda muhtemelen haklılar ...
Eski kod genellikle sadece tweaks gerektirir. Y2K için olduğu gibi, ya da hisse senetleri 256'sından ondalık basamağa geçtiğinde. İkisinden de bir sürü yaptım. Ve diğer pek çok benzer şey. Bazen kötü stil, kötü işlevsel ayrışma, kötü vb. "Okuyabileceğiniz" ve değiştirilmesi gereken yerlerin koleksiyonunu bulabileceğiniz tipik olarak oldukça "belirleyicidir". Ve sonra, “bu yerler arasında” olan, yani, daha yüksek seviyeli akış olan, sizin için gizemli kalabilir. Sadece değiştirdiğiniz yerelleştirilmiş işlevselliği anladığınızdan emin olun ve ardından herhangi bir yan etkiyi test etmek, test etmek, test etmek, vb., Yerelleştirilmiş bilginiz tahmin edemez.
Böyle bir kodda yolunuzu göremiyorsanız, eski kodu korumak için en iyi kişi olmayabilir. Bazı insanlar boş bir ekrandan başlayabilir ve güzel programlar yazabilir, ancak başkalarının kodlarından oluşan büyük bir kod tabanı ile başlayamaz ve sürdüremez. Diğer insanlar kodu koruyabilir, ancak sıfırdan başlayamaz. Bazıları ikisini de yapabilir. Doğru kişilerin eski kodunuzu koruduğundan emin olun.
Eski kod üssünüzü sıfırdan yeniden tasarlamak ve yeniden yazmak isteyebileceğiniz zamanlar, işletme (veya diğer) gereksinimlerinin pantolonun oturduğu koltuğun "çırpması" nın artık değişen gereklilikleri karşılayamayacağı ölçüde değişmesidir. . Ve bu noktada, tüm paydaşların yerlerinde olduğundan emin olarak, ilk önce yeni bir işlevsel gereksinimler belgesi yazarak başlayabilirsiniz. Temel olarak tamamen yeni bir oyun adı.
Yapılması gereken tek ve tek >> yanlış şey, eski kod bakımını yeni bir geliştirme için yaptığınız gibi ele almayı denemek. Ve bu yanlış bir şey tam olarak inmek istediğiniz yol gibi görünüyor :) Bunun için söz ver, yapmak istediğin bu değil.