Sono un programmatore da molto tempo in C # ma ho programmato in Python per l'anno scorso. Uno dei grandi ostacoli per me era la mancanza di definizioni di tipo per variabili e parametri. Considerando che ho totalmente l'idea di battere a macchina, trovo frustrante non poter dire il tipo di variabile solo guardandolo. Questo è un problema quando si guarda il codice di qualcun altro in cui hanno usato nomi ambigui per i parametri del metodo (vedi modifica sotto).
In alcuni casi, ho aggiunto degli asserimenti per garantire che i parametri siano conformi a un tipo atteso, ma questo va contro l'intero concetto di digitazione anatra.
Su alcuni metodi, documenterò il tipo di parametri atteso (es: elenco di oggetti utente), ma anche questo sembra andare contro l'idea di usare solo un oggetto e lasciare che il runtime gestisca le eccezioni.
Quali strategie usi per evitare problemi di digitazione in Python?
Modifica: esempio dei problemi di denominazione dei parametri: Se il nostro codice base ha un oggetto task (oggetto ORM) e un oggetto task_obj (oggetto di livello superiore che incorpora un'attività). Inutile dire che molti metodi accettano un parametro chiamato 'compito'. Il metodo potrebbe prevedere un'attività o un task_obj o qualche altro costrutto come un dizionario delle proprietà dell'attività: non è chiaro. È compito loro guardare come viene usato quel parametro per capire cosa si aspetta il metodo.