没有任何疑问,CoffeeScript是一门优秀的编程语言,但是不管他再怎么优秀都有一些不尽如人意的地方。这里结合我使用这门语言几天的经验来说一下CoffeeScript的初体验一些缺陷
最大的问题:缺乏强有力的IDE
由于CoffeeScript是一门新生的语言,相当多的开发环境还没有完全的支持他。
- 如果你使用Visual Studio编辑,你不得不建立一个.net网站工程才能在里面编辑CoffeeScript,否则你不能得到代码提示。
- 如果你使用Notepad++编辑,你不会得到任何编码提示
- 如果你使用eclipse进行编辑,目前的支持还是很有限的
- http://fiddlesalad.com/coffeescript/ 这个在线IDE还是感觉很不错的,功能很强大,但是由于它只能在线使用,所以可能无法在没有网络的情况访问,另外它要求一定要联网,对于那些不开源的商业应用也是很大的挑战。
第二大问题:缩进来判断代码结束
可能有人比较喜欢用缩进来结束代码,但是我非常不喜欢,尤其是当代码非常长的时候。当你的IDE不支持智能缩进的时候这更是一件非常辛苦的事情
第三大问题:不完全的OOP特性
CoffeeScript支持OOP无疑是非常方便的,但是很不幸的是这个支持是非常有限的。在这里一个没有办法通过CoffeeScript的成员自动添加定义一个类里面的私有成员,你只能通过一些技巧来实现手动的添加私有成员。在CoffeeScript里面,这里的私有成员只能是私有的,还不能实现保护成员。
所以记住:CoffeeScript只是JavaScript
第四大问题:糟糕的函数参数表设计
在CoffeeScript调用一个有参数函数你可以省略掉参数表的括号,但是这并不意味着你可以省略掉所有的括号:在无参数的时候你必须加上括号。这样的方式可能带来一个团队项目里面编码习惯的混乱。
第五大问题:变量自动声明导致的拼写错误
变量生存周期自动管理缺失不错,但是,这引来了一个问题:你可能因为一些失误错误的拼写了某些变量名,这样,在你的IDE没有办法给你足够的提示的时候,你不得不花费大量的时间去检查这样一个低级的错误
不管怎样,CoffeeScript都是一款优秀的语言,去尝试一下都是很好的,但是如果要实际的应用还是要一些勇气的