Автоматическая проверка орфографии строк документации и комментариев

Рассмотрим следующий пример кода:

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


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

pylint дает 10 из 10, flake8 не находит никаких предупреждений:

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

Но, как вы можете видеть, в test строка документации функции. И ваш редактор, вероятно, выделит это автоматически, например, вот как это делает Pycharm:

Благодаря теме https://stackru.com/questions/2151300/whats-the-best-way-to-spell-check-python-source-code теперь я знаю, что существует соответствующая библиотека для проверки орфографии, которая называется PyEnchant это может быть использовано для обнаружения опечаток.

Моя конечная цель - автоматически обнаружить опечатки в проекте и сделать проверку орфографии частью непрерывной сборки, тестирования и проверки качества кода.

Есть ли способ добиться этого с pylint? Если нет, я также буду признателен за любые советы по применению PyEnchant к документации и комментариям по проекту (в этом случае pylint или же pyflakes плагин может быть сделан из него).

Пожалуйста, дайте мне знать, если я безумно беспокоюсь о качестве кода.

2 ответа

Решение

Pylint только что выпустил 1.4.0, который включает в себя spell-checker, Вот начальный пулл-запрос.

Обратите внимание, что для того, чтобы проверка работала, вам необходимо установить pyenchant модуль Python и есть enchant библиотека установлена ​​по всей системе. На Mac его можно установить через brew:

$ brew install enchant

По умолчанию spelling Pylint Checker выключен. Вы можете включить его либо в пилинте rc файл конфигурации или из командной строки:

$ 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)

В Windows установите chant с помощьюpip install pyenchant

Затем, чтобы обеспечить проверку орфографии, в вашем.pylintrcфайл, в разделе[SPELLING], Добавлятьspelling-dict=en_US.

Я также предлагаю вам добавить ваши часто используемые аббревиатуры в.txtфайл и указать его путь в опцииspelling-private-dict-file=.

Например:

      [SPELLING]
# Spelling dictionary name. Available dictionaries: none. To make it working
# install python-enchant package.
spelling-dict=en_US
# A path to a file that contains private dictionary; one word per line.
spelling-private-dict-file=private-dictionary.txt

И запустить с:pylint --rcfile=.pylintrc yourfile

Другие вопросы по тегам