- I nomi di variabili e metodi viene utilizzato il camel case: prima parola minuscole, le sucessive con l'iniziale maiuscola.
- I nomi dei metodi e delle funzioni usano la stessa convenzione.
- I nomi delle classi usano il camel case, tutte le parole con l'iniziale maiuscola.
- I nomi di moduli e package (che di fatto sono file) sono completamente minuscoli, preferibilmente formati da una sola parola.
- Quando e' necessario controllare condizioni particolari sui dati (ad esempio che i parametri delle funzioni siano del tipo coretto) utilizzare
assert
e non unif
: e' molto meno ingombrante all'interno del codice e se l'assert non e' verificato Python ci avvisera' mostrandoci anche la condizione che ha dato errore (ad esempioassert(type(n) is int)
e' self explanatory). - Per le stringhe utilizzare i singoli apici (
'
) dato che risultano meno ingombranti nel sorgente. - Usare il Markdown per i file di documentazione: risulta molto piu' leggibile e necessita di poco tempo per l'apprendimento (potete trovare una buona guida qui).
- Cercare di adottare un approccio OOP (ad esempio invece di una funzione
renderText
scrivere una classeText
che contiene un metodorender
). - E' consigliato fare largo uso dei package: Python offre una buonissima gestione delle "librerie". Tutto quello che e' legato a una particolare funzionalita' del sistema (ad esempio il controller per l'audio piuttosto che della camera) dovrebbe essere all'interno di un proprio package. Inoltre se ci si accorge che ci sono diverse funzioni/classi che lavorano nello stesso ambito (come nel caso della classe
Text
e altre funzioni ad esempio per stampare il testo un carattere alla volta) dovrebbero essere messe in un modulo dedicato all'interno del package. - Non sono necessarie classi statiche, sia per il motivo che in Python sono "simulate" sia perche' i moduli stessi possono avere la stessa funzione. Ad esempio la classe statica
Console
delC#
puo' essere sostituita in maniera piu' pythonica con un moduloconsole
.
Keepo