Kafamdaki her yönü artık tutamayacağım kadar büyük boyutlu bir projem var. İçinde birkaç sınıf ve işlevle uğraşıyorum ve veriyi veriyi aktarıyorum.
Zamanla hatalar almaya devam ettiğimi fark ettim, çünkü veriyi farklı işlevlere geçirdiğimde ne kadar kesin bir form olması gerektiğini unuttum ( örneğin, bir işlev daha sonra yazdığım bir dizi diziyi, başka bir işlevi kabul eder ve çıktılar, bir sözlük vb tutulur dizeleri kabul, bu yüzden ben bir dizide onları bir sözlük sahip olmak için birlikte çalıştığım dizeleri dönüştürmek zorunda ).
Her zaman neyin nerede kırıldığını bulmak zorunda kalmamak için, her bir fonksiyona ve sınıfı, doğru girdiyi veren dış koda güvenemeyeceği ve giriş kontrollerini kendisi yapmak zorunda olduğu anlamında bir "izole varlık" olarak ele almaya başladım (veya, bazı durumlarda, veriler yanlış biçimde verilirse verileri yeniden düzenleyin).
Bu, geçirdiğim verilerin her işleve "uyduğundan" emin olmak için harcadığım zamanı büyük ölçüde azalttı, çünkü sınıflar ve işlevler artık bazı girdiler kötü olduğunda (ve hatta bazen düzeltir) beni uyarıyor ve yapmıyorum bir şey haywire nereye gittiğini anlamak için artık tüm kod boyunca bir hata ayıklayıcı ile gitmek zorunda.
Diğer taraftan bu da genel kodu artırdı.
Benim sorum, bu kod stili bu sorunu çözmek için uygunsa?
Tabii ki, en iyi çözüm, projeyi tamamen yeniden düzenlemek ve verilerin tüm işlevler için tek tip bir yapıya sahip olduğundan emin olmak olacaktır - ancak bu proje sürekli büyüdüğü için, aslında yeni şeyler eklemekten çok daha fazla harcama ve temiz kod hakkında endişelenmek istiyorum. .
(Bilginize: Hala yeni başlayan biriyim, bu yüzden bu sorunun naif olması durumunda lütfen özür dilerim; projem Python'da.)