2014-11-27 17 views
18

Si consideri il seguente codice di esempio:docstring automatizzata e il controllo ortografico commenti

# -*- coding: utf-8 -*- 
"""Test module.""" 


def test(): 
    """Tets function""" 
    return 10 

pylint gli dà 10 di 10, flake8 non trova nessun avvertimento:

$ pylint test.py 
... 
Global evaluation 
----------------- 
Your code has been rated at 10.00/10 
... 
$ flake8 test.py 
$ 

Ma, come si può vedere , c'è un refuso nella docstring della funzione test. E, il vostro editor probabilmente evidenziarlo automagicamente, per esempio, ecco come PyCharm fa:

enter image description here

Grazie al tema https://stackoverflow.com/questions/2151300/whats-the-best-way-to-spell-check-python-source-code, ora so che c'è una libreria di controllo ortografico rilevanti chiamato PyEnchant che possono essere utilizzato per rilevare errori di battitura.

Il mio obiettivo finale è di rilevare automaticamente errori di battitura nel progetto e di eseguire il controllo ortografico di una parte di un controllo continuo di build, test e controllo della qualità del codice.

C'è un modo per raggiungere questo con pylint? In caso contrario, apprezzerei anche eventuali suggerimenti sull'applicazione di PyEnchant a docstrings e commenti in base al progetto (in questo caso, il plug-in pylint o pyflakes potrebbe essere ricavato da esso).

Per favore, inoltre, fatemi sapere se mi sto spaventando per la qualità del codice.

+0

possibile duplicato di [? Qual è il modo migliore per eseguire il controllo ortografico codice sorgente Python] (http://stackoverflow.com/ domande/2151300/whats-the-best-way-to-spell-check-python-source-code) – user3426575

+0

OP letteralmente già riferito che nella sua domanda. – csmckelvey

+0

@ user3426575 questo è esattamente il motivo per cui ho menzionato l'argomento. – alecxe

risposta

17

Pylint appena rilasciato 1.4.0, che include uno spell-checker. Ecco l'iniziale pull-request.

Si noti che, per far funzionare il correttore, è necessario installare il modulo python pyenchant e disporre di una libreria enchant installata in tutto il sistema. Su mac, può essere installato tramite brew:

$ brew install enchant 

Per default, il correttore spelling pylint è disattivata. È possibile attivare neanche nel file di configurazione pylint rc, o dalla riga di comando:

$ cat test.py 
# I am the tyop 

$ pylint --disable all --enable spelling --spelling-dict en_US test.py 
C: 1, 0: Wrong spelling of a word 'tyop' in a comment: 
# I am the tyop 
      ^^^^ 
Did you mean: 'typo' or 'top' or 'tip' or 'topi'? (wrong-spelling-in-comment) 
+0

Grazie per aver aggiunto le istruzioni! L'ho provato su codice reale, ed è un po 'difficile: non sa come ignorare gli esempi di codice, gli URL e altri codici di riferimento, quindi i nomi delle variabili sono contrassegnati come errori ortografici, ecc. –

+0

Sì, potrebbe esserci un molto lunga lista di parole da ignorare (impostazione 'spelling-ignore-words') che può essere alla fine difficile da mantenere. Proverò comunque su un progetto reale. Grazie. – alecxe

+0

Per gli utenti non mac 'pipe install -U pyenchant' dovrebbe fare il lavoro. –

Problemi correlati