Il 07/07/2015 22:47, Daniele Tricoli ha scritto:
Ciao Germano,

On Tuesday 07 July 2015 16:22:32 germano carella wrote:
Ci ho studiato... in effetti lo posso integrare facendolo eseguire dopo
che ho finito di scrivere il codice.
A me sarebbe piaciuto , però, farlo in tempo reale. Cioè, io scrivo una
riga, do invio e lui controlla se non ho fatto sciocchezze... :D
Beh, puoi utilizzare la funzione check_code (segue una sessione interattiva,
purtroppo non sono a conoscenza di accorgimenti che ti rendano più agevole la
fruizione, ti prego di darmi le giuste dritte):

from flake8.main import check_code
code_to_check = '''
... class A:
... '''
check_code(code_to_check)
stdin:2:9: W291 trailing whitespace
stdin:2:11: E901 SyntaxError: unexpected EOF while parsing
2
è perfetto!

Il trailing whitespace l'ho messo di proposito. Anche concludere la
definizione della classe senza continuare è voluta, ho pensato a cosa ti
avrebbe tornato il checker se il controllo venisse fatto ad ogni invio.

Però probabilmente non so cosa fanno gli editor visivi, mi spiego:
quando scrivete codice, lui vi colora il codice in modo che se avete
fatto errori, o scordato delle parentesi voi ve ne accorgete? Io so che
tipo visual studio lo fa, per c# e similari... ecco, questa cosa a un
non vedente manca, quindi quando ti dà un errore stai fresco a
ricontrollare tutto quello che hai scritto, per vedere se da qualche
parte non ci hai messo una virgoletta... :D
Siccome però di questa cosa non sono per niente sicuro, chiedo a voi...
Penso che questa sia una questione di abitudini. Personalmente mi distrae meno
un controllo effettuato al salvataggio. Ho configurato in questo modo vim: non
appena viene salvato un buffer vengono eseguiti i vari check in base al
linguaggio che sto utilizzando in quel momento. Considera che l'output ti
fornisce le indicazioni sulla riga e la colonna, quindi questo dovrebbe
permetterti di muoverti abbastanza velocemente sul problema. :D
Quindi credo che la soluzione migliore sia quella con cui ti troverai meglio.
Potresti renderlo configurabile dall'utente, in modo da supportare le due
modalità di controllo.
Esatto, è proprio quello che voglio fare...
Farò in modo che sia l'utente a decidere se vuole che il codice che sta scrivendo venga analizzato on-the-fly oppure al salvataggio o all'esecuzione.

Ti ringrazio tantissimo per le dritte, l'utilizzo di code.compiler si è rivelato fallace, perché non è in grado di rilevare, ad esempio, se ho sbagliato l'attributo di un oggetto.

Grazie ancora tantissimo!

HTH,


_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a