On 2013-05-17 22:52, Gollum1 wrote:

per la maggiore dovrebbe trattarsi di valori di variabili che vengono
impostate in funzione degli argomenti passati dalla riga di comando.

Come ti hanno già fatto capire in tanti, è probabile che non hai bisogno di variabili globali.


pensavo di utilizzare getops per gestire la riga di comando, questa
funzione si troverà in un modulo separato rispetto al programma
principale (un modulo con tutte le funzioni di utilità che ho
intenzione di utilizzare), e restituirà un vocabolario con coppie
chiave-valore dati o direttamente dal contenuto della riga di comando
o da elaborazioni e interazioni di dati della stessa.

Guarda optparse o argparse nella libreria python. Entrambi restituiscono un oggetto che contiene tutti i parametri come attributi. Tipicamente ottieni quello nel main() e poi passi l'oggetto o solo i valori che servono a funzioni o oggetti create nel main.

Se non fai così i tuoi oggetti (classi, funzioni, moduli) resteranno legati alle variabili globali, quindi non potrai usarli in altri programmi e non sarà facile testarli. E se non usi questa organizzazione per ogni programma anche semplice che hai in mente di scrivere non sarai in grado di metterla in piedi quando ne dovrai scrivere uno più complesso (non mi fido di chi dice "ho scritto questo programma male ma solo perché è piccolo": ho una certezza matematica chese fosse stato più grande avrebbe fatto proporzionalmente cacare; probabilmente avrebbe fatto geometricamente o esponenzialmente cacare).

Secondo me questa settimana la locuzione "variabile globale" è stata usata fin troppo in questa mailing list. Addirittura con chi ha inventato nuovi modi più creativi di creare variabili globali! Mi fa capire che The Real Programmer™ è in grado di scrivere Visual Basic anche quando usa Haskell. Per favore, la settimana prossima parlate di "iniezione di dipendenza" :)


--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a