Black, Giga, Python. Code Format, Tools
https://giga.chat/link/gcsObBTGeV
Black — это популярный форматировщик кода для Python,
известный своей агрессивной нормализацией и стремлению убрать разногласия касательно стиля оформления.
Главное преимущество Black — он принимает минимальное участие со стороны разработчика:
настроил один раз и получил неизменный и постоянный стиль форматирования кода.
Черты Black:
- Четкая философия:
- Black применяет единую стратегию форматирования, основанную на правилах, близких к PEP 8, но гораздо более строгих.
- Всё форматируется одинаково, вне зависимости от предпочтений автора.
- Агрессивное изменение стиля:
- Black меняет абсолютно всё:
- пробелы, отступы, перенос строк, скобки и многое другое. Нет никакой промежуточной зоны — либо принимаешь предлагаемый стиль,
- либо вообще не используешь Black.
- Быстродействие:
- Быстро обрабатывает даже большие проекты, обеспечивая минимальные задержки при выполнении.
- Оптимальная поддержка длинных строк:
- Вместо жёсткого ограничения в 80 символов Black предпочитает линию длиной около 88 символов,
- давая пространство для сложных выражений.
- Простота использования:
- Интерфейс предельно прост, никаких сложностей с настройками и управлением процессом.
- Четкая философия:
- Black применяет единую стратегию форматирования, основанную на правилах, близких к PEP 8, но гораздо более строгих.
- Всё форматируется одинаково, вне зависимости от предпочтений автора.
- Агрессивное изменение стиля:
- Black меняет абсолютно всё:
- пробелы, отступы, перенос строк, скобки и многое другое. Нет никакой промежуточной зоны — либо принимаешь предлагаемый стиль,
- либо вообще не используешь Black.
- Быстродействие:
- Быстро обрабатывает даже большие проекты, обеспечивая минимальные задержки при выполнении.
- Оптимальная поддержка длинных строк:
- Вместо жёсткого ограничения в 80 символов Black предпочитает линию длиной около 88 символов,
- давая пространство для сложных выражений.
- Простота использования:
- Интерфейс предельно прост, никаких сложностей с настройками и управлением процессом.
Как использовать Black?
1. Установка:
pip install black
pip install black2. Применение к одному файлу:
black my_file.py
black my_file.py3. Применение ко всему проекту:
black .
black .4. Настройка исключения файлов:
Можно настроить исключение файлов или целых директорий через специальный файл .gitignore или файл конфигурации .pyproject.toml:
[tool.black]
exclude = r"/migrations|generated/"
Можно настроить исключение файлов или целых директорий через специальный файл .gitignore или файл конфигурации .pyproject.toml:
[tool.black]
exclude = r"/migrations|generated/"5. Автозапуск при сохранении файла:
Многие IDE (Visual Studio Code, PyCharm) поддерживают автозагрузку Black при сохранении файла.
Просто добавьте соответствующий плагин и включите соответствующую опцию.
Многие IDE (Visual Studio Code, PyCharm) поддерживают автозагрузку Black при сохранении файла.
Просто добавьте соответствующий плагин и включите соответствующую опцию.
Правила Black:
Некоторые интересные моменты, касающиеся правил Black:
- Код выравнивается строго вертикально.
- Пробелы вокруг операторов ставятся равномерно.
- Длина строки стремится к максимуму в 88 символов.
- Комментарии переносятся вместе с соответствующими конструкциями.
- Массивы и длинные конструкции принудительно переносятся.
Некоторые интересные моменты, касающиеся правил Black:
Преимущества Black:
- Однозначный стиль оформления устраняет споры о стиле.
- Экономия времени на решение вопросов форматирования.
- Последовательность и чистота кода на протяжении всей команды.
Альтернативы:
- autopep8: Менее радикален, сохраняет больше оригинального стиля.
- Yapf: Немного больше настроек, ближе к Google style guide.
- isort: Только сортировка импортов, менее амбициозен, чем Black.
Заключение:
Black станет отличным помощником любому Python-разработчику,
стремящемуся избавиться от споров о стиле кода и сосредоточиться исключительно на содержании программы.
Идеально подходит для командных проектов, где важны единообразие и ясность оформления.
Black станет отличным помощником любому Python-разработчику,
стремящемуся избавиться от споров о стиле кода и сосредоточиться исключительно на содержании программы.
Идеально подходит для командных проектов, где важны единообразие и ясность оформления.
Комментариев нет:
Отправить комментарий