La maggior parte della mia esperienza di programmazione è stata con C ++ e (shudder) FORTRAN (sono uno scienziato non un programmatore in quanto tale, ma faccio del mio meglio). Recentemente ho iniziato a usare Python in modo estensivo e lo trovo fantastico. Tuttavia, ho trascorso poche ore frustranti rintracciare un bug che è risultato causato dalla creazione di un nuovo membro dell'oggetto in una funzione, ad es.
def some_func(self):
self.some_info = list()
ma, avevo già creato altrove il membro some_info
per questo oggetto per uno scopo diverso, quindi le cose brutte ovviamente sono successe in seguito, ma era difficile risalire a questo punto.
Ora ovviamente in un linguaggio come C ++ questo è impossibile da fare, dato che non puoi semplicemente creare membri dell'oggetto al volo. Poiché sono abituato al linguaggio che si occupa di questo, non ho una disciplina procedurale ben sviluppata per impedirmi di abusare della libertà fornita da python (e altre lingue digitate dinamicamente).
Quindi qual è il modo migliore per prevenire questo tipo di errore quando si usano linguaggi come python?