在生产环境中使用CoffeeScript

ako*_*sch 27 javascript production-environment coffeescript

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

所以我的问题是:

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

谢谢!

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

Tre*_*ham 18

该语言在过去六个月中一直保持稳定(1.1.1基本上只有1.0,带有错误修正).这不能保证未来的稳定性,但我不认为我的书很快就会完全过时.

我想说避免版本问题的最佳实践是

  1. 确保记录了为您的项目编写的CoffeeScript版本,以及
  2. 在该版本下编译为JS并将JS保存在某处
  3. 有良好的测试覆盖率(用塞缪尔亚当斯的话说:总是一个好的决定!)

这样,当发布新版本的CoffeeScript时,如果您的CoffeeScript代码被破坏,您将使用JS备份.突破性变化是一种痛苦,但除了 JavaScript 之外几乎所有语言都是常见的- 只要求最近从1.8到1.9过渡的Rubyist,或者仍在将Python 2代码迁移到Python 3的Pythonista.

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

Jeremy将不得不评论stable/ master区别,因为两个分支都存在,但stable自4月(1.1.0之前)以来尚未更新.