检测 JavaScript 代码中的拼写错误

Posted

技术标签:

【中文标题】检测 JavaScript 代码中的拼写错误【英文标题】:Detecting typos in JavaScript code 【发布时间】:2015-09-23 00:23:39 【问题描述】:

在 Python 世界中,使用最广泛的静态代码分析工具之一,pylint 有一个 special check,可以检测 cmets 和 docstrings 中的拼写错误。

有没有办法使用静态代码分析


为了让问题更具体,这里是一个我想引起警告的示例代码:

// enter credntials and log in
scope.loginPage.logIn(browser.params.regularUser.login, browser.params.regularUser.password);

这里credntials 拼写错误。

【问题讨论】:

【参考方案1】:

您可以使用cspell。这是一个非常方便的命令行工具,可以发现 javascript、TypeScript、Python、php、C#、C++、LaTex、Go、html 和 CSS 源代码中的拼写错误。

示例的输出

cspell ./src/code.js
code.js:1:10 - Unknown word (credntials)

./src/code.js

// enter credntials and log in
scope.loginPage.logIn(browser.params.regularUser.login, browser.params.regularUser.password);

【讨论】:

【参考方案2】:

有一个专门为该任务构建的eslint 插件-eslint-plugin-spellcheck

eslint 插件,用于对 javascript 文件的标识符、字符串和 cmets 进行拼写检查。

它基于hunspell-spellchecker 库,该库知道如何解析和使用Hunspell 已知单词的字典:

Hunspell 是一个拼写检查器和形态分析器,专为 具有丰富形态和复杂词复合的语言和 字符编码,最初是为匈牙利语设计的。

这是问题中提供的示例代码的输出:

$ node_modules/eslint/bin/eslint.js -c eslint.json showCase.spec.js
25:8   warning  You have a misspelled word: credntials on Comment  spellcheck/spell-checker

该插件易于定制,可以签入 cmets、标识符和字符串。

【讨论】:

以上是关于检测 JavaScript 代码中的拼写错误的主要内容,如果未能解决你的问题,请参考以下文章

NLP_Stanford课堂拼写校正

谁检测到拼写错误的函数名?编译器还是链接器?

散列表:WORD文档中如何检测单词的拼写错误

JavaScript异常处理

检测javascript中的键盘错误

javascript 错误与调试