Son zamanlarda, çok eski bir monolitik uygulamanın mikro hizmet tabanlı bir mimariye geçirildiği bir proje üzerinde çalışmaya başladım.
Eski kod temeli çok dağınıktır ('spagetti kodu') ve genellikle görünüşte basit bir işlev (örneğin "multiplyValueByTen" olarak adlandırılır) daha sonra "3 farklı şemadaki 10 tabloyu içeren binlerce doğrulama kodu satırı" olarak kendini gösterir.
Şimdi patronum (haklı olarak) yeni mimaride X özelliğini yazmanın ne kadar süreceğini tahmin etmemi istiyor. Ancak gerçekçi bir tahmin yapmakta zorluk çekiyorum; sıklıkla derece nedeniyle yukarıda belirtilen nedenlerden görevi hafife ve ben zamanında bitirmek olamaz çünkü kendimi rezil.
Mantıklı olan şey gerçekten koda girmiş gibi görünebilir, her dalı not alın ve diğer işlevlere çağrı yapın ve ardından zaman maliyetini tahmin edin. Ancak eski kodu belgelemekle yeni sürümü yazmak arasında gerçekten küçük bir fark var.
Böyle bir senaryoya nasıl yaklaşmalıyım?
Eski kod yeniden düzenleme işleminin nasıl çalıştığını tam olarak anlasam da sorum, "yeniden yapılandırma / yeniden yazma nasıl yapılır?" İle ilgili değil. ama "X bölümünü yeniden yazmak / yeniden yazmak ne kadar sürer?"