Di recente stavo lavorando su un codice prototipo in Python. Il codice funzionava alla grande, poi mi sono reso conto che avevo bisogno di un po 'più di feedback da una delle mie funzioni, quindi ho cambiato la dichiarazione di ritorno da
return x
a
return (x,y)
Quindi, tornando al codice refactoring esistente, mi sono reso conto che, a meno che non cerco invocazione di questa funzione su tutto il codice base, non conoscerò alcun problema fino al momento dell'esecuzione (e se questo è un caso marginale) a malapena e rischiando il crash del programma a causa di un'eccezione non rilevata con conseguente operazioni su tipi non corrispondenti. Lo contrasto con i linguaggi tipizzati in modo statico, dove al momento della compilazione mi viene detto di tutte le posizioni in cui il ritorno non combina il tipo previsto.
Quindi mi chiedevo se esistesse qualche saggezza convenzionale associata ai tipi di ritorno in Python per evitare di sottrarre questo senso al codice.
P.S > Ovviamente i migliori schemi di progettazione risolverebbero questo problema o non userebbero il linguaggio digitato anatra, ma a volte si incontra un caso quando si cambia il tipo di ritorno.