В эпоху растущей популярности различных js и css линтеров неудивительно, что появился удобный линтер с автокоррекцией для Python. Привет, Япф — готовое решение для превращения путаницы строк в полностью читаемый код. И поверьте, оно вам понадобится.
Большинство современных линтеров для Python, таких как autopep8 и pep8ify, созданы для удаления ошибок в коде.
Это имеет некоторые очевидные ограничения.
Например, код, соответствующий PEP8, невозможно переформатировать.
Но это не значит, что код выглядит хорошо.
YAPF придерживается другого подхода.
Он основан на "clang-формат" , разработанный Дэниелом Джаспером.
По сути, алгоритм берет код и переформатирует его в формат, соответствующий руководству по стилю, даже если исходный код не нарушает руководство по стилю.
Идея также аналогична инструменту gofmt для языка программирования Go: конец всем священным войнам форматирования — если вся кодовая база проекта просто прокачивается через YAPF при каждом внесении изменений, стиль остается единообразным во всем проекте, и есть нет смысла спорить о стиле в каждом обзоре кода.
Конечная цель состоит в том, чтобы код YAPF на Python писался так же хорошо, как код, который мог бы написать программист, если бы он следовал руководству по стилю.
Это избавляет от тяжелой работы по поддержанию кода.
Теперь перейдем к практической части: YAPF можно использовать либо из командной строки, либо как плагин текстового редактора.
В настоящее время существуют плагины для Emacs, VIM и Sublime Text. В основном я использую Sublime Text, поэтому покажу вам, как настроить его для использования YAPF. Плагин для Sublime Text — github.com/jason-kane/PyYapf 1. Установка.
Установите Sublime Package Control, следуя инструкциям здесь (если вы еще этого не сделали).pip install yapf
Ctrl-Shift-P (Mac: Cmd-Shift-P) и выберите «Управление пакетами: Установить пакет».
Найдите в списке «PyYapf Python Formatter».
2. Настройка.
После установки у вас в меню настроек появится PyYapf.
Чтобы все работало, вам нужно указать, где у вас находится файл Yapf (в моем случае он находился в папке Python)
Откройте настройки PyYapf — Настройки по умолчанию, скопируйте их.
Затем откройте PyYapf — Настройки пользователя, вставьте скопированные правила и укажите путь к файлу Yapf.
После этого вы уже можете использовать YAPF для форматирования кода.
Нажмите Ctrl-Alt-F, и код будет преобразован.
Настройки по умолчанию — PEP8. Пример до и после.
В нем можно настроить множество правил.
YAPF позволяет гибко настраивать различные параметры, подробнее здесь - https://github.com/google/yapf#id8 Надеюсь, YAPF поможет вам написать красивый и чистый код, соответствующий многочисленным стандартам.
Теги: #python #codestyle #linter #pep8 #python #дизайн и рефакторинг
-
Как Выбрать Лучший Игровой Ноутбук
19 Oct, 24 -
Чернила Для Принтера Canon
19 Oct, 24 -
Фридман, Милтон
19 Oct, 24 -
Windows 10 Исполнился Ровно Год
19 Oct, 24 -
Выпущен Tornado Web Server 2.0 Rc
19 Oct, 24