TGViewer
AI на дровах 🪵 AI на дровах 🪵 @nerditru · 226 subscribers
Post #236 302
Скоро закрываю один проект и поймал себя на мысли: надо бы привести код в порядок. Раньше на структуру и формат особо не смотрел, как пишется, так пишется)
Посмотрел на свои килостроки и понял: если делать красоту вручную, уйдёт столько же времени, сколько на разработку.

Полез гуглить.

И, внезапно, под Python нормальных линтеров оказалось не так много (в сравнении с JS).
Да есть pylint, но у меня с ним не сложилось(

В общем выбор пал на Ruff и это просто 🚀.
Он не только приводит код в порядок, но и подсказывает, где я накосячил.

Разобрался как эта штука работает.

Что делает Ruff (по-нашему, по-простому)
- Парсит код в AST, а не «ищет по строкам» понимает контекст.
- Прогоняет правила: от реальных ошибок до стиля.
- Авточинит всё, что можно (--fix).
- Отдельной командой ровняет стиль (ruff format): кавычки, переносы, пустые строки и т.д.
- Очень быстрый и ставится одним бинарником.
- Настройки лежат в одном pyproject.toml.

Как стартануть за 2 минуты

Установка:
pip install ruff
# или uv/pipx/poetry — как удобнее

Ежедневные команды:
# 1) автофиксы линтера (включая сортировку импортов)
ruff check . --fix
# 2) единый стиль по всему проекту
ruff format .

Проверка в CI (ничего не трогаем, только валидируем):
ruff format --check .
ruff check . --output-format=github

Минимальный pyproject.toml:
[tool.ruff]
line-length = 100
target-version = "py311"

[tool.ruff.lint]
# Базовые ошибки, импорты и апгрейд синтаксиса
select = ["E", "F", "I", "UP"]
ignore = ["E501"] # длину строки отдаём на откуп форматтеру

[tool.ruff.format]
quote-style = "double"
indent-style = "space"

Важный порядок: сначала ruff check --fix (в т.ч. сортировка импортов), потом ruff format.

Итог: код ровный, читаемый, импорты на месте.

Штука стоящая, да ещё и супер быстрая в сравнении с другими линтерами.

Make code great again 👨‍💻
  • 🔥 8
More from @nerditru
  1. Sep 27, 2026Тут недавно вышла Jev от TypeSafe AI, и многие обсуждали сам подход: модель не пишет текст…
  2. Sep 24, 2026photo post
  3. Sep 24, 2026По понятиям AI инжиниринга Почему модель отвечает медленно? Почему поиск по документам воз…
  4. Sep 23, 2026Просто оставлю это тут. У кого есть мысли, давайте в комменты 🖥
  5. Sep 20, 2026Post #284
  6. Sep 14, 2026Post #283
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →