Javascript代码样式执行器或检查器

时间:2013-04-16 07:35:37

标签: javascript coding-style jslint jshint

我正在开发一个使用javascript特定样式指南的项目。例如,if / else语句如下所示:

if( condition ){
  // Bla bla
}
else {
  // Another bla bla
}

我正在寻找的工具可以让我根据特定的样式指南检查文件的语法。 JSHint / JSLint不关注样式,Closure Linter无法自定义,Uncrustify会在不发出警告的情况下重新格式化文件(并且不正式支持Javascript)。

我可以通过这个程序获得的最佳输出是来自Closure Linter但具有自定义规则的输出。 this similar question的答案都错了。

这样的工具是否存在?

3 个答案:

答案 0 :(得分:9)

如果您仍在寻找答案,可以尝试一个名为jscs的项目 您可以自定义代码在几乎任何方面的外观,以及那些尚未开发的代码(例如,函数参数间距)。

所有内容都可以通过.jscsrc文件进行自定义;以下是我使用它的一个项目的示例:

{
    "requireCurlyBraces":                   [ "if", "else", "for", "while", "do", "switch" ],
    "requireSpaceAfterKeywords":            [ "if", "else", "for", "while", "do", "switch" ],
    "disallowSpaceAfterKeywords":           [],
    "requireSpacesInsideObjectBrackets":    "all",
    "disallowSpaceAfterObjectKeys":         true,
    "disallowImplicitTypeConversion":       [],
    "disallowKeywords":                     [ "with" ],
    // ...
}

如果你正在使用Grunt,请随意为jscs尝试我自己的任务 - grunt-jscs-checker

BTW,the jQuery team is using jscs:)

答案 1 :(得分:1)

听起来你真的在JavaScript beautifier之后。检查可以通过“在文件上运行并查看它们是否发生变化”来完成,并由版本控制支持。

答案 2 :(得分:0)

没有符合您需求的工具。 JSLint正在应用样式规则Crockford建议(并强制执行),JSHint更灵活,因为您可以选择更适合您的编码风格的规则,但不够灵活,不能强制执行任何类型的风格。

通常,您可以配置编辑器,以便它可以帮助您缩进并按照您希望的代码方式执行换行。并使用linter来注意它的重要性(一些whitespacing规则,如何使用parens ......)。短信的作用更能防范你的语言不能阻止你的愚蠢错误。

相关问题