PHPLint, JSLint,我最近在阅读一些IDE时遇到了“你可以在飞行中检测你的JS代码”。
那么,什么是“linting”呢?
PHPLint, JSLint,我最近在阅读一些IDE时遇到了“你可以在飞行中检测你的JS代码”。
那么,什么是“linting”呢?
检测是运行一个程序的过程,它将分析代码中的潜在错误。
参见维基百科上的lint:
lint最初是一个特定程序的名称,该程序在C语言源代码中标记了一些可疑的和不可移植的结构(很可能是错误)。这个术语现在泛指在任何计算机语言编写的软件中标记可疑使用的工具。
Lint是一个程序的名字,它会遍历你的C代码,并在你编译、链接和运行它之前识别出问题。它是一个静态检查器,很像今天的Java FindBugs。
像谷歌一样,“lint”变成了一个动词,意思是静态检查源代码。
linter是一种工具,用于标记源代码中出现的可疑和非结构性代码(即潜在的错误)。它最初是C语言中的静态代码分析工具,后来成为用来描述标记可疑代码的软件分析工具的通用术语。
检测是检查源代码的程序错误和风格错误的过程。这对于识别编码过程中常见和不常见的错误非常有帮助。
Lint或Linter是一个支持linting(验证代码质量)的程序。它们适用于大多数语言,如JavaScript, CSS, HTML, Python等。
一些有用的lint是JSLint, CSSLint, JSHint, Pylint
除了其他人提到的,我想补充的是,检测将运行您的源代码
查找格式差异, 发现不遵守编码标准和惯例, 查明程序中可能存在的逻辑错误。
在源代码上运行lint程序,有助于确保源代码清晰、易读、较少污染和更容易维护。
像Python和JavaScript这样的解释性语言从检测中获益良多,因为这些语言在执行之前没有编译阶段来显示错误。
linter对于代码格式化和/或遵循特定于语言的最佳实践也很有用。
最近我一直在为JS/React使用ESLint,偶尔会将它与airbnb-config文件一起使用。
检测是检测程序的一个过程,它分析特定编程语言的源代码,并标记潜在的问题,如语法错误、偏离规定的编码风格或使用已知不安全的结构。
例如,JavaScript检测器会将第一次使用parseInt标记为不安全:
// without a radix argument - Unsafe
var count = parseInt(countString);
// with a radix paremeter specified - Safe
var count = parseInt(countString, 10);
检测是使用静态代码分析工具识别代码中风格错误的过程。
Linting对于动态类型的语言(如JavaScript和Python)特别有用。因为这些语言通常不会在执行前强制执行严格的规则。
常用的Linting编码工具有:
JSLint, JSHint, JavaScript的StandardJS Eslint用于JavaScript和JSX (JSX用于React) CSSLint用于CSS Pylint, flake8代表Python
检测工具用法:
检测工具可以配置其他工具,如git pre commit hook和husky,以确保对提交到某个存储库的代码进行检测。
这将确保在代码提交到存储库之前维护编码标准,格式化代码,遵循特定于语言的最佳实践。
只有满足上述编码标准,工程师才能进行提交。