Aşırı kestirime ilişkin tüm yorumlar ile, ılımlı miktarda bir noktanın (iyi fırsat) kaçırıldığını düşünüyorum.
Bu, geçen süreyi tahmin etmekle ilgili değildir (sadece) ve sonra bazılarını da ekleyin, değişikliğin güvenli bir şekilde yapılabileceği bir noktaya getirmek için kodu (refactor!) Değiştirmek için gereken süreyi tahmin etmekle ilgilidir. değişim (muhtemelen biraz birbirine büründü). Tamam, bu aynı şeyi ifade ediyor ... ancak fuding veya uzatma veya aşırı tahmin etme sorunu yok, basitçe bunu yapmak için önce bunu yapmam gerektiğini ve bunun ne kadar süreceğini söylemesi meselesi. toplamda. Burada anahtar, sistemin değişime bağlı olduğu ve daha fazla olmayan bölümleri üzerinde çalışmanızdır - başka bir yerde korkunç kod varsa ... zor, oradayken yakalayın.
Asıl soruya geri biraz gelecek için - yıl bir sürü sonra sürece bir şey uygulamak zaman onun benim için bu kadar inmesi biliyor (? (Zanlıyı beklemeyin, inanmıyorum), düşünmüyorum ama biliyorum ek şeyler) Ayrıca bu şartı yerine getirmek için ihtiyacınız olanı yapmalı ve mümkün olduğunca düzenli ve şık bir moda almamalısınız.
Bir sonraki şeyi uygulamaya geldiğinizde - bir süre sonra - kod temeli (ve veritabanını ve her neyse) bu işlevselliği mümkün olduğu kadar düzenli ve şık bir şekilde uygulamak için gereken duruma getirmek için gereken adımları atarsınız. Bu yeniden düzenleme, bir proje geliştikçe doğal olarak ortaya çıkan karmaşa ile ilgilendiğiniz yerdir - ve umarım daha fazla karmaşa oluşturmaktan kaçının (veya en azından seviyeyi tutarlı tutun).
Buradaki tartışma alanlarından biri "Teknik Borç" - bir fazla ödeme yapmak gibi, geri ödemek zorundasınız ve ne kadar uzun süre bırakırsanız (bu durumda düzeltmek için gerekli olan zaman) tahakkuk edeceksiniz - bu size iyi bir sonuç veriyor teknik borçları en aza indirerek zamanınızın bir kısmını harcama argümanı.
Bu aynı zamanda, birim testlerinin ve diğer otomatik testlerin gelmeye başladığı yerdir (eğer yapabileceğimden emin olduğumu söylersem daha mutlu bir insan olacağım!), Uygun bir derleme sunucusuyla (en azından bazılarını çalıştırabilir) senin testlerin). Bunlarla birlikte - ancak kendi başlarına değerli - bağımlılık enjeksiyonu ve kontrolün tersine çevrilmesi gibi kalıplardır (bu ikisinin ne kadar “aynı” olduklarından asla emin değillerdir) çünkü sıhhi tesisatın değiştirilmesini kolaylaştırırlar ve bu nedenle de izolasyon.
Son olarak - unutma, kırılmadıysa tamir etmeyin. Kodunuzu yalnızca düzenleme amacıyla düzenlemek, tatmin edici olabilir , ancak hatalar ortaya koyma fırsatı da olabilir; bu nedenle, değiştirmek zorunda kalmazsanız ve bazı değişiklikler yapmazsanız acı verici olabilir. tek başına - düzeltme veya değiştirme fırsatı nihayetinde dönecektir!