ESLint:从 JSLint 到 JSHint,探索 JavaScript Linter 的进化进程 (1)

[复制链接]
发表于 2025-12-16 19:10:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
linter 发展史

起首和各人来聊一聊关于 linter 的发展史。
静态代码分析

早在 1978 年,Stephen C. Johnson 在 Debug 本身的 C 语言项目时,突然想到为什么不做一个工具来提示本身写的代码那里有标题呢? 这个工具也被称为 Linter。
Linter 本意指的是衣服上多出来的小球、绒毛和纤维等,假如你刚把晾晒好的衣服收下来就会发现这些小玩意。从前假如想把这些多出来的“残渣”去掉,最简单的方法就是找一个单面胶粘一下再撕开,厥后有的人发明确这个神器,一滚就能清撤消:
这就是 Linter 的由来,不外区别是神器重点在 “扫除”,而 Linter 重点在 “上报错误”。
Linter 想要提示错误,那起首就得阅读代码,这也是为什么 Linter 也被称为静态代码分析的工具。阅读完之后,再加上我们人为自界说好的一些规则,那么 Linter 就拥有了提示错误的本领了。
JSLint

在 2002 年,Douglas Crockford 就为 JavaScript 写了第一个 Linter 工具:JSLint。
你如今也可以在这个网站上粘贴你的 JavaScript 代码来查抄有没有标题。
JSLint 的优点就是 开箱即用,不须要设置太多的东西,相当于拎包入住。但优点也是缺点,就是 规则太严酷,完全不可扩展和自界说设置,连设置文件都没有。
JSHint

在 JSLint 的底子上,在 2010 年的时间 Anton Kovalyov 跟别的人就 fork 了一份 JSLint 然后改造成了 JSHint。
你可以在这个网站访问到 JSHint

这个工具与 JSLint 的思绪恰恰相反,它的默认规则非常疏松,自由度非常高。但是也同样带来了标题:你须要非常相识这些规则才气配出一个好用的规则表。由于规则太不严酷,过于自由,以是单纯靠默认的规则跟没有设置 Linter 一样。
JSCS

前面的 JSLint 和 JSHint 重要功能都是查抄代码质量标题的,JSCS (JavaScript Coding Style) 则是一个代码风格查抄器。
它有高出 90 条规则,你也能本身创建规则,不外这些规则重要是和代码风格、代码格式化有关,它不会报任何和 JS 代码质量相干的错误。
只管 JSCS 在其生动时期非常受接待,但它已于 2016 年被公布制止维护,并发起用户迁徙到 ESLint。ESLint 是一个更强盛、更机动的工具,它不但可以查抄代码风格,还可以发现埋伏的错误和代码质量标题。另一个盛行的代码格式化工具是 P
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表