Dahili yapı ve organizasyon özelliklerinden yoksun (örneğin ad alanları, paketler, montajlar vb.) Olmayan dillerde çalışırken veya bunların bu boyutta bir kod tabanını kontrol altında tutmak için yetersiz kalmaları durumunda, doğal cevap Kodu düzenlemek için kendi stratejilerimiz.
Bu organizasyon stratejisi muhtemelen farklı dosyaların nerede tutulması gerektiği, belirli işlemlerden önce / sonra yapılması gerekenler ve konvansiyonların ve diğer kodlama standartlarının isimlendirilmesi ile ilgili standartların yanı sıra çok fazla "bu şekilde nasıl yapıldığını da içerir. - onunla uğraşma! " yorum yazın - nedenini açıkladıkları sürece geçerlidir!
Stratejinin büyük olasılıkla projenin özel ihtiyaçlarına (insanlar, teknolojiler, çevre vb.) Göre uyarlanacağı için, büyük kod tabanlarını yönetmek için tek bedene uygun bir çözüm vermek zordur.
Bu nedenle, en iyi tavsiyenin projeye özgü stratejiyi benimsemek ve onu yönetmeyi kilit bir öncelik haline getirmek olduğuna inanıyorum: yapıyı, neden böyle olduğunu, değişiklik yapma süreçlerini belgelemek, uyulduğundan emin olmak için denetlemek, ve en önemlisi: değişmesi gerektiğinde değiştirin.
Çoğunlukla yeniden sınıflandırma sınıflarını ve yöntemlerini biliyoruz, ancak böyle bir dilde büyük bir kod temeli ile gerektiğinde ve gerektiğinde yeniden yapılandırılması gereken organizasyon stratejisinin kendisi (dokümantasyonla birlikte).
Akıl yürütme, yeniden yapılanma ile aynıdır: genel organizasyonunun bir karmaşa olduğunu düşünüyorsanız ve sonunda bozulmasına izin verecekseniz, sistemin küçük parçaları üzerinde çalışmaya yönelik zihinsel bir blok geliştirirsiniz (en azından benim işim budur) o).
Uyarılar da aynıdır: regresyon testi kullanın, yeniden yapılandırma yanlış giderse kolayca geri döndüğünüzden emin olun ve ilk başta yeniden düzenlemeyi kolaylaştırmak için tasarlayın (veya sadece yapmazsınız!).
Bunun doğrudan kodu yeniden düzenlemekten çok daha zor olduğunu ve bunun neden yapılması gerektiğini anlamayacak olan yöneticilerden / müşterilerden zamanı doğrulamak / gizlemenin daha zor olduğunu kabul ediyorum, ancak bunlar aynı zamanda yazılım çürümesine en yatkın proje türleri. esnek olmayan üst düzey tasarımların neden olduğu ...