Açıkça anlaşılır bir ürün için mevcut bir kod tabanını miras aldım. Temel tasarım ne yazık ki tam bir refaktör (YÜKSEK kuplaj, DÜŞÜK kohezyon, kodun yaygın bir şekilde çoğaltılması, teknik tasarım belgeleri, birim testleri yerine entegrasyon testleri olmadan) hakkında çok az şey yapabileceğim için yetersiz kalıyor. Ürünün geçmişi, riske en az toleransı olan kritik "nakit-inek" müşterilere yüksek maruziyeti, Yunanlıların kızarmasını sağlayacak teknik borç, ÇOK büyük kod tabanı ve karmaşıklığı ve daha önce ekip tarafından hatalara karşı savaştan yorucu bir yenilgi yaklaşımı vardır. ben mi.
Eski ekip gemiyi başka bir bölüme atladı, böylece başka bir projeyi mahvetme fırsatı yakaladılar. Proje Yönetimi Başarısızlığı'nın aksine Teknik Yetersizlik Proje Başarısızlığı yaşamam çok nadirdir, ancak bu gerçekten bu durumlardan biridir.
Şimdilik tek başımayım ama çok zamanım, karar özgürlüğüm ve gelecekteki yönlerim ve sıfırdan bana yardımcı olacak bir takım kurma yeteneğim var.
Benim sorum, fonksiyonel gereksinimleri toplama aşamasında boş zamanlarınız olduğunda böyle bir projede düşük etkili yeniden düzenleme hakkında görüş toplamaktır. Binlerce derleyici uyarısı var, bunların neredeyse tamamı kullanılmamış ithalat, okunmamış yerel değişkenler, tip kontrolünün olmaması ve güvenli olmayan dökümler. Kod biçimlendirmesi o kadar okunamaz ve özensizdir ki kodlayıcı Parkinsons hastalığından muzdaripmiş gibi görünür ve boşluk çubuğunun belirli bir hatta ne kadar basıldığını kontrol edemez. Diğer veritabanı ve dosya kaynakları genellikle açılır ve asla güvenli bir şekilde kapatılmaz. Anlamsız yöntem argümanları, aynı şeyi yapan yinelenen yöntemler vb.
Bir sonraki özellik için gereksinimleri beklerken, düşük etkili düşük riskli şeyleri temizliyorum ve zamanımı boşa harcıyorum mu yoksa doğru şeyi mi yapıyorum diye merak ettim. Yeni özellik, daha önce zaman harcadığım kodu kopyalamak anlamına gelirse ne olur? Çevik bir yaklaşıma başlayacağım ve bunun Çevik gelişim sırasında sürekli olarak yeniden düzenlenmesi için kabul edilebilir ve normal olduğunu anlıyorum.
Bunu yapmak istediğim olumlu ya da olumsuz etkileri düşünebiliyor musunuz?