|
|
1
15
有可能达到100%。我自己的项目是100%打字。闭包编译器可以输出有关未知类型表达式的警告。很遗憾,没有命令行选项来启用此功能。必须修改源代码才能启用它:
当您在脚本上使用这个修改过的编译器时,它会对编译器无法确定类型的所有表达式发出很多警告。当您修复代码中的所有这些警告时,它是100%键入的。 |
|
|
2
9
编译器有一个标志,可以设置为使未知类型输出警告。
您还需要提高警告级别。
|
|
|
3
5
我试着编译goog.net.XhrIo作为测试:
当我编译这个时,我得到了这样的结果:
似乎闭包库本身不是100%类型化的,我不认为目标是达到100%。Javascript不是静态类型的语言。闭包试图将静态类型语言的一些好处引入到javascript中。这很好。但这并不意味着你必须带来这种语言的负担。 编辑:我试着编译一个空文件,结果是90.4%。我认为这意味着包含所有基本函数的base.js不是100%类型化的。所以我做了更多的实验,发现当我把类型信息放在所有的局部变量上时,百分比会上升。我认为没有必要把类型信息放在所有的局部变量上。我是说想象一下:
这不是使用闭包编译器编译的目标。事实证明,编译base.js并不能得到100%的结果。在我的发展过程中,我尽量把这个数字保持在85%到95%之间。根据您的时间、编程风格和正在处理的应用程序的不同,可能会有不同的变化。最好的指导原则是在应用程序的整个开发过程中保持百分比恒定,不管是60%还是90%。只需根据需要尽可能多地输入代码,就可以轻松地使用自己的代码。 |
|
|
4
0
所有的学分都归@kayahr,但时间一天天过去了。我想提供一个更新的答案,这是基于一个旧版本的编译器。 您需要在强制执行类型检查的情况下重新编译源。为此:
不过要小心,
|