Рубрики
Без рубрики

Введение на flake8

FLAKE8 – это инструмент для защиты управления стилем для Python, который вы можете использовать вместо Pylint, чтобы помочь вам найти ошибки в вашем коде и более внимательно следовать Pep8

Автор оригинала: Mike Driscoll.

Python имеет несколько связей, которые вы можете использовать, чтобы помочь вам найти ошибки в вашем коде или предупреждении о стиле. Например, один из самых тщательных связей – пилинт.

Flake8 описывается как инструмент для исполнения руководства стиля. Это также обертка вокруг Pyflakes , Pycodestyle и Batchelder uned MCCABE Script Отказ Вы можете использовать Flake8 как способ пересекать ваш код и обеспечить соблюдение PEP8.

Монтаж

Установка Flake8 довольно проста, когда вы используете PIP. Если вы хотите установить Flake8 на ваше местоположение Python по умолчанию, вы можете сделать это со следующей командой:

python -m pip install flake8

Теперь, когда Flake8 установлен, давайте узнаем, как его использовать!

Начиная

Следующим шагом является использование FLAKE8 на вашу кодовую базу. Давайте напишем небольшой кусок кода, чтобы запустить Flake8 против.

Поместите следующий код в файл с именем Hello.py:

from tkinter import *

class Hello:
    def __init__(self, parent):
        self.master = parent
        parent.title("Hello Tkinter")

        self.label = Label(parent, text="Hello there")
        self.label.pack()

        self.close_button = Button(parent, text="Close",
                                   command=parent.quit)
        self.close_button.pack()

    def greet(self):
        print("Greetings!")

root = Tk()
my_gui = Hello(root)
root.mainloop()

Здесь вы пишете небольшое приложение GUI, используя Python’s Tkinter библиотека. Много кода Tkinter в Интернете использует Из TKinter Import * Pattern, что это то, что вы обычно избегаете. Причина в том, что вы не знаете всего, что вы импортируете, и вы можете случайно перезаписать импорт с вашим собственным именем переменной.

Давайте запустим Flake8 против этого примера кода.

Откройте свой терминал и запустите следующую команду:

flake8 hello.py

Вы должны увидеть следующий вывод:

tkkkkk.py:1:1: F403 ‘от TKinter Import *’ используется; Невозможно обнаружить неопределенные имена tkkkkk.py:3:1: E302 Ожидаемые 2 пустых строки, найдено 1 tkkkkk.py:8:22: F405 ‘Label’ может быть неопределенным или определена из Imports Star: TKinter tkkkkk.py:11:29: кнопка F405 ‘может быть неопределенным или определена из Imports star: tkinter TKKKKK.PY:18:1: E305 Ожидаемые 2 пустых строки после определения класса или функции нашли 1 tkkkkk.py:18:8: F405 ‘TK’ может быть неопределенным или определен из Imports Star: Tkinter tkkkkk.py:20:16: W292 Нет Newline в конце файла

Предметы, начинающиеся с «F», являются Pyflake Коды ошибок и укажите потенциальные ошибки в вашем коде. Другие ошибки из Pycodestyle Отказ Вы должны проверить эти две ссылки, чтобы увидеть полные списки кода ошибок и то, что они имеют в виду.

Вы также можете запустить Flake8 против каталога файлов, а не одного файла одновременно.

Если вы хотите ограничить, какие типы ошибок вы хотите поймать, вы можете сделать что-то вроде следующего:

flake8 --select E123 my_project_dir

Это будет отображать только ошибку E123 для любых файлов, которые имеют их в указанном каталоге и игнорируют все другие типы ошибок.

Для полного списка аргументов командной строки вы можете использовать с flake8, проверьте их Документация Отказ

Наконец, Flake8 позволяет изменить его Конфигурация Отказ Например, ваша компания может придерживаться только части Pep8 Таким образом, вы не хотите, чтобы Flake8 поместите вещи, о которых ваша компания не заботится о. Flake8 также поддерживает использование плагинов.

Обертывание

Flake8 может быть просто инструментом для вас, чтобы помочь сохранить ваш код чистым и свободным от ошибок. Если вы используете систему непрерывной интеграции, например Travisci или Jenkins, вы можете объединить Flake8 с черным, чтобы автоматически отформатировать ошибки кода и флага.

Это определенно инструмент, который стоит проверить, и это намного менее шумно, чем пилинт. Дайте это попробовать и посмотри, что вы думаете!

Связанное чтение

  • Flake8 сайт
  • Pyflakes – Пассивный контролер программ Python
  • Введение в черный – Бескомпромиссная форма Python код
  • Пилинт: Анализируя код Python