Что такое «Линтинг»?

1094

PHPLint , JSLint , и я недавно наткнулся на «вы можете нибудь вкусненькое ваш JS код на лету» во время чтения кое - что о какой - то IDE .

Итак, что это за пометка, которую знают все, кроме меня?

Ашкан Х. Назарий
источник
6
Я слышал этот термин только с тех пор, как код Visual Studio стал чем-то особенным. прежде чем это было просто "интеллигентным" -подобным. Хотя этот термин восходит к 1978 году из Википедии, мне кажется, он был популярен только недавно.
v.oddou

Ответы:

1078

Linting - это процесс запуска программы, которая будет анализировать код на наличие возможных ошибок.

Смотрите линт в Википедии:

lint - это имя, изначально присвоенное конкретной программе, которая помечала некоторые подозрительные и непереносимые конструкции (которые могут быть ошибками) в исходном коде языка Си. Этот термин теперь применяется в целом к ​​инструментам, которые отмечают подозрительное использование в программном обеспечении, написанном на любом компьютерном языке.

Одед
источник
140
Цитата из википедии - «Этот термин был получен из названия нежелательных кусочков волокна и пуха, найденных в овечьей шерсти».
tan9
17
@HasanBaidoon - он просто сообщает о нарушениях политики стиля, не обязательно действует на них от имени пользователя.
Одед
Будет ли стилькоп считаться линтером?
Адам Плохер
1
@Adam - обычно у линтера также есть возможность автоматически исправлять найденные проблемы.
Одед
@AdamPlocher Да, это так. «StyleCop - это язык C #, который обеспечивает соблюдение правил стиля». github.com/mcandre/linters
mbomb007
184

Lint - это имя программы, которая будет проходить через ваш код C и выявлять проблемы до того, как вы скомпилируете, скомпонуете и запустите его. Это была статическая проверка, очень похожая на FindBugs сегодня для Java.

Как и Google, «lint» стал глаголом, который означал статическую проверку вашего исходного кода.

duffymo
источник
122

Linting - это процесс проверки исходного кода на наличие программных и стилистических ошибок. Это наиболее полезно при выявлении некоторых распространенных и необычных ошибок, которые допускаются во время кодирования.

A Lintили a Linter- это программа, которая поддерживает linting (проверку качества кода). Они доступны для большинства языков, таких как JavaScript, CSS, HTML, Python и т. Д.

Некоторые из полезной подпушки JSLint , CSSLint , JSHint , Pylint

VSri58
источник
52

Помимо того, что упомянули другие, я хотел бы добавить, что Linting будет работать с вашим исходным кодом, чтобы найти

 -  formatting discrepancy 
 -  non-adherence to coding standards and conventions 
 -  pinpointing possible logical errors in your program

Запуск программы Lint над вашим исходным кодом помогает гарантировать, что исходный код читабелен, читабелен, менее загрязнен и прост в обслуживании.

Мангу Сингх Раджпурохит
источник
27

lint - это инструмент, который используется для обозначения исходного кода как подозрительного и неструктурного (может привести к ошибке). Вначале это инструмент статического анализа кода на языке Си. Теперь он стал общим термином, используемым для описания инструмента анализа программного обеспечения, который маркирует подозрительный код.

Маркус Торнтон
источник
20

Интерпретируемые языки, такие как Python и JavaScript, значительно выигрывают от линтинга, так как эти языки не имеют фазы компиляции для отображения ошибок перед выполнением.

Линтеры также полезны для форматирования кода и / или придерживаются лучших практик для конкретного языка.

В последнее время я использую ESLint для JS / React и иногда буду использовать его с файлом airbnb-config .

JSON C11
источник
3

Linting - это процесс, выполняемый программой linter, которая анализирует исходный код на определенном языке программирования и отмечает потенциальные проблемы, такие как синтаксические ошибки, отклонения от предписанного стиля кодирования или использование конструкций, о которых известно, что они небезопасны.

Например, JavaScript-линтер будет помечать первое использование parseInt ниже как небезопасное:

// without a radix argument - Unsafe
var count = parseInt(countString);

// with a radix paremeter specified - Safe
var count = parseInt(countString, 10);
RajeshK
источник