PHPLint, JSLint,我最近在阅读一些IDE时遇到了“你可以在飞行中检测你的JS代码”。

那么,什么是“linting”呢?


当前回答

检测是使用静态代码分析工具识别代码中风格错误的过程。

Linting对于动态类型的语言(如JavaScript和Python)特别有用。因为这些语言通常不会在执行前强制执行严格的规则。

常用的Linting编码工具有:

JSLint, JSHint, JavaScript的StandardJS Eslint用于JavaScript和JSX (JSX用于React) CSSLint用于CSS Pylint, flake8代表Python

检测工具用法:

检测工具可以配置其他工具,如git pre commit hook和husky,以确保对提交到某个存储库的代码进行检测。

这将确保在代码提交到存储库之前维护编码标准,格式化代码,遵循特定于语言的最佳实践。

只有满足上述编码标准,工程师才能进行提交。

其他回答

像Python和JavaScript这样的解释性语言从检测中获益良多,因为这些语言在执行之前没有编译阶段来显示错误。

linter对于代码格式化和/或遵循特定于语言的最佳实践也很有用。

最近我一直在为JS/React使用ESLint,偶尔会将它与airbnb-config文件一起使用。

Lint是一个程序的名字,它会遍历你的C代码,并在你编译、链接和运行它之前识别出问题。它是一个静态检查器,很像今天的Java FindBugs。

像谷歌一样,“lint”变成了一个动词,意思是静态检查源代码。

除了其他人提到的,我想补充的是,检测将运行您的源代码

查找格式差异, 发现不遵守编码标准和惯例, 查明程序中可能存在的逻辑错误。

在源代码上运行lint程序,有助于确保源代码清晰、易读、较少污染和更容易维护。

检测是检测程序的一个过程,它分析特定编程语言的源代码,并标记潜在的问题,如语法错误、偏离规定的编码风格或使用已知不安全的结构。

例如,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,以确保对提交到某个存储库的代码进行检测。

这将确保在代码提交到存储库之前维护编码标准,格式化代码,遵循特定于语言的最佳实践。

只有满足上述编码标准,工程师才能进行提交。