【问题标题】:What's the difference between linting and compiling?linting 和编译有什么区别?
【发布时间】:2017-02-11 09:12:49
【问题描述】:

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

【问题讨论】:

标签: javascript linter


【解决方案1】:

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

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

那么有什么区别呢?

编译:

  • 语法验证
  • 代码转换为不同的语言

起绒:

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

【讨论】:

  • 也就是说,编译 = linting + 转换代码?
  • 不完全是,我会更新我的答案来解释差异
【解决方案2】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2014-08-10
    • 2018-07-11
    • 2011-03-04
    • 2011-05-03
    • 2011-04-19
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多