Linter.txt 4.6 KB

123456789101112131415161718192021222324252627282930313233
  1. Что такое линтер: зачем, когда и кем используется
  2. Что такое линтер
  3. Линтер (от англ. слова lint) – статический анализатор кода, который указывает на “подозрительные” участки программы и тем самым помогает программисту писать
  4. более качественный код. Подозрительными участками может быть любой код, в котором есть ошибка (по мнению линтера). Обычно, линтер устанавливается на компьютер
  5. программиста, а точнее в IDE.
  6. IDE – это среда разработки, например, Xcode, Android Studio, Visual Code Studio.
  7. Зачем нужен линтер
  8. Когда несколько программистов работают на одном большом проекте, возникают проблемы – у каждого программиста свой стиль написания кода, свое понимание того как нужно
  9. реализовывать различные участки программы. Из-за того что все пишут так как они этого хотят, другим разработчикам сложно быстро вовлечься в процесс работы в новом для них
  10. проекте.
  11. В линтер можно “установить” определенный набор правил, которым должен будет соответствовать написанный программистом код. Например, можно ограничить длину строки до 100
  12. символов, запретить вложенные тернарные операторы и лишние пробелы. Это может помочь привести код проекта к более единому стилю.
  13. Также, когда программист пишет код, он может забывать убирать лишние переменные и пробелы в коде. Линтер же будет “подсвечивать” весь мусор, поэтому программист сможет на
  14. это вовремя обратить внимание.
  15. Какие бывают линтеры?
  16. Самые простые проверяют только стиль, например, Flake8. В какой-то степени ещё и Black, но скорее это автоформатор-линтер. Линтеры сложнее проверяют семантику, а не только
  17. стилистику: что вы делаете, зачем, и бьют вас по рукам, если пишете с ошибками. Хороший пример — Pylint, который мы все знаем, пользуемся и любим. Я называю такие линтеры —
  18. Best practices. Третий тип — Type checking, эти линтеры немного в стороне. Type checking в Python — новинка, её сейчас делают две конкурирующие платформы: Mypy и Pyre.
  19. Как работает линтер
  20. Обычно линтер работает в реальном времени и анализирует файлы и написанный код на ходу. Хотя, все зависит и от самого инструмента (ага, он не один): есть линтеры работающие
  21. в реальном времени, а есть линтеры, которые необходимо запустить, например, перед отправкой кода в GitHub.
  22. Стоит отметить, что для каждого языка программирования существует свой анализатор кода, и даже не один. Например, у языка программирования JavaScript есть ESlint, JSLint,
  23. JSHint. У PHP есть PHP_CodeSniffer, NoVerify. А у Python есть Flake8 и Pylint. Они плюс-минус похожи, но некоторые аспекты в них могут отличаться. Одни ищут больше ошибки,
  24. другие следят за “красотой” кода. Одни работают в реальном времени, другие срабатывают перед компиляцией программы.