linting和编译有什么区别?

时间:2016-10-03 12:12:51

标签: javascript linter

我知道在Java中有一个编译器可以告诉你何时编写了错误的代码。但Javascript不会那样工作,因为它没有编译器。但是,是“linting”javascripts编译代码的方式吗?

2 个答案:

答案 0 :(得分:10)

Linting正在解析代码以验证语法和格式是否良好并遵循良好实践。如果您的缩进不正确或者您应该在=运营商周围添加空格,则linter会告诉您。 如果你的代码包含众所周知的安全漏洞或代码味道,linter也会警告你。

编译是解析代码以验证语法是否正确并将代码转换为其他语言(通常是更快的语言)。

那有什么区别?

编译:

  • 语法验证
  • 代码转换为其他语言

掉毛:

  • 语法验证
  • 样式和格式分析
  • (可选)代码异味/错误代码检测
  • (可选)安全/性能分析

答案 1 :(得分:4)

Linting是运行程序的过程,该程序将分析任何错误的代码。

JavaScript Lint比竞争lint更具优势,因为它基于Firefox浏览器的JavaScript引擎。这提供了一个强大的框架,不仅可以检查JavaScript语法,还可以检查脚本中使用的编码技术,并警告可疑的实践。

有关javascript lint访问的更多信息 http://www.javascriptlint.com/

而编译将运行代码a并将其转换为机器语言