【问题标题】:Is there a way to catch typos when writing CoffeeScript编写 CoffeeScript 时有没有办法捕捉错别字
【发布时间】:2012-04-07 19:21:03
【问题描述】:

这个小的 CoffeeScript 有一个错字

drinks = "Coffee"
drinks = drinks + ", " + "Tea"
drinsk = drinks + ", " + "Lemonade"
alert drinks

本意是提醒“咖啡、茶、柠檬水”,但结果却是“咖啡、茶”。 生成的 JavaScript 仍然有效并通过 JSLint;它在使用前声明变量 很好,但它的变量错误。

var drinks, drinsk;
drinks = "Coffee";
drinks = drinks + ", " + "Tea";
drinsk = drinks + ", " + "Lemonade";
alert(drinks);

如果同样的例子是用纯 JavaScript 编写的,那么 JSLint 会捕捉到错误:

var drinks;
drinks = "Coffee";
drinks = drinks + ", " + "Tea";
drinsk = drinks + ", " + "Lemonade";
alert(drinks);

------------------
Problem at line 4 character 1: 'drinsk' was used before it was defined.
drinsk = drinks + ", " + "Lemonade";

问题:有没有办法保留我犯的错误以便我找到它们?我希望看到像 JSLint 这样的工具仍然有效。

还尝试了http://www.coffeelint.org/,它告诉我“您的代码没有 lint!”

【问题讨论】:

    标签: javascript coffeescript jslint


    【解决方案1】:

    我会通过为您的 JavaScript 编写规范来解决这个问题。 Lint 类型的工具很棒,但是您仍然可以犯很多其他错误。

    我个人通过 jasmine-headless-webkit 使用 jasmine

    【讨论】:

    • 虽然单元测试很重要,但它们并不是全部。类似 lint 的工具将是 CoffeeScript 的有用补充。
    • 是的,也会使用测试,但我认为在这种情况下是编译器做错了。很明显,drinsk 只分配给而从不读取,因此将其设为变量是没有意义的。
    • 我不会说未使用变量的警告之类的东西不是一件好事!
    【解决方案2】:

    您可以使用支持标识符拼写检查的 IDE,例如 IntelliJ IDEA,BTW 有一个用于 CoffeScript 编辑的插件。

    【讨论】:

    • 感谢您的输入,越早发现这些错误越好。一旦我上线更快,我会尝试编辑器..
    • 刚试过 IntelliJ,据我所知,它认为“drinks”和“drinsk”都是变量(斜体字体和紫色),左上角还有一个绿色方块(没有发现错误)。
    • 在 IntelliJ 中有一个拼写检查器,它应该在拼写错误的单词下添加一个绿色波浪。像这样的东西:blog.novoj.net/binary/2010/11/dictionary-before.png
    猜你喜欢
    • 1970-01-01
    • 2013-05-21
    • 2022-07-26
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    • 2012-03-31
    相关资源
    最近更新 更多