Pull to refresh

Comments 17

Спасибо, интересная штука. Только в статье вы зря привязывались к какому-то IDE, yapf прекрасно работает и в качестве консольной утилиты. Прогнал по своим винегрет-поделкам, доволен результатом.
Консольный вариант действительно хорош, но многие привыкли писать код в IDE, и на этом примере было легче показать, как работает YAPF.
На Windows установка делается так же?
Или это и было про Windows?

Это и было про Windows.
На Linux разница будет лишь в полном пути до yapf, в файле настроек. На *nix рекомендую использовать yapf в качестве консольной утилиты — https://github.com/google/yapf#id4
И чем вам старый добрый autopep8 не угодил?
autopep8 отличный инструмент в плане правки ошибок. Но YAPF дает больше возможностей для работы с кодом в плане стилизации. Например можно использовать свои правила по оформлению каких-то блоков кода, или управлять правилами написания кода, принятые в вашей компании. Плюс тут есть возможность использовать встроенные правила стилизации — pep8, google или другие.
Для себя в YAPF я увидел отличный вариант stylelint (https://stylelint.io/) для Python.
Я его вкрутил в pre-commit hook в git.
Прекрасно работает:
1) перед коммитом каждая правка проверяется — забыть сделать или пропустить по лени нельзя
2) если он отредактировал код, то коммит блокируется — это очень полезно для вычитывание его правок на случай, если вдруг они сломают логику
3) все автоматически сделанные изменения хорошо видны в правках в индексе в git
4) у всех ваших коммитеров будет все тоже самое автоматически — как только они склонируют вашу репу и настроят ее. Независимо от используемой IDE.
Автор зря пропустил важный момент, что yapf сейчас находится на стадии альфа тестирования.
В readme на github написано «YAPF is still considered in „alpha“ stage, and the released version may change often...»
Да. И в этом, видимо, причина, что yapf пока не прикрутили в PyCharm

Насколько я знаю, к PyCharm многое медленно прикручивают, потому, что питонисты не сильно жалуют Яву і наоборот :)

А есть что нибудь подобное для HTML, JS, CSS? Красиво автоматически, это очень красиво))))
Есть, и много чего. Для CSS рекомендую попробовать stylelint.
А для С? Я знаю, звучит странно, но порой коллеги присылают свой код, оформленный в совершенно ином стиле.
Вот один из вариантов https://github.com/AtomLinter/linter-clang
Sign up to leave a comment.

Articles