在生产环境中使用CoffeeScript

时间:2011-06-05 19:33:57

标签: javascript production-environment coffeescript

我非常喜欢将CoffeeScript(1.1.1)用于小型项目,到目前为止效果很好。然而,在更广泛的环境中使用它之前,我想听听关于在生产中使用它的第二意见。

所以我的问题是:

  • 语言本身有多稳定?
  • 我是否需要关注即将发生的更改会导致我的代码中断?
  • 如果上述问题的答案是肯定的:旧版本的支持程度如何?
  • 是否存在稳定(仅限错误修复)和单独的开发分支?
  • 如果您已在产品/网站/等中使用过CoffeeScript,请说明其使用范围和整体体验。

谢谢!

注意:我已经听说过“CoffeeScript支持将包含在Ruby on Rails 3.1版中。” (维基百科),由于Rails社区的额外支持,这很棒。

2 个答案:

答案 0 :(得分:18)

该语言在过去六个月中一直保持稳定(1.1.1基本上只有1.0,带有错误修正)。这不能保证未来的稳定性,但我不希望my book在任何时候都完全过时。

我想说避免版本问题的最佳做法是

  1. 确保记录为您的项目编写的CoffeeScript版本,以及
  2. 在该版本下编译为JS并将JS保存在某个地方
  3. 有良好的测试覆盖率(用塞缪尔亚当斯的话说:总是一个好的决定!
  4. 这样,当发布新版本的CoffeeScript时,如果您的CoffeeScript代码被破坏,您可以使用JS备份。突破性变化是一种痛苦,但它们几乎对所有语言都是常见的痛苦除了 JavaScript之外 - 只要问最近从1.8到1.9过渡的Rubyist,或者仍在迁移Python 2的Pythonista代码到Python 3。

    我可以提供的建议,以防止您的代码在CoffeeScript版本更改下破坏,以避免语法边缘情况。例如,func a:b, c曾经代表func {a:b, c:c},现在它意味着func {a:b}, c。这是一个改进(旧的行为被认为是一个错误),但有些人被它猝不及防。因此,只要有一丝模糊,就要使用明确的标点符号;无论如何,它使代码更具可读性。

    Jeremy必须对stable / master区别发表评论,因为两个分支都存在,但stable自4月(1.1.0之前)以来尚未更新。

答案 1 :(得分:2)