从Java迁移到Groovy的最佳实践

时间:2010-10-21 08:53:18

标签: java groovy

我精通Java,并开始尝试使用Groovy。 因为这两者集成得很好,我发现自己用Java写作,因为它很容易。您可以提供哪些具体提示,以加快我使用Groovy的工作?

含义 - 在什么领域中,groovy优于java,我应该在哪里坚持Java?

2 个答案:

答案 0 :(得分:3)

我喜欢的一些主要内容:

  • 测试可能是最大的胜利。在运行时改变行为和模拟方法的能力是groovy最伟大的事情之一。现在将您的测试套件转换为groovy!
  • 使用构建器。 Groovy构建器比传统java具有更多的表现力。特别是,用于嵌入的XML或HTML片段的MarkupBuilder比使用vanilla java好1000倍。
  • GPars如果您正在进行任何类型的并发编程或线程

另请参阅Hidden features of Groovy Why would one use Groovy over Java (注意:出于审核原因,已从“堆叠溢出中删除”)

我坚持使用java:

  • 任何速度真正重要的地方,坚持使用java。对于groovy的动态性,你仍然需要付出很高的性能代价。

答案 1 :(得分:-2)

Groovy的问题。

Groovy是一个易于编写,但维护噩梦。在我看来,它不应该用于大型项目。继承别人的(或你自己的)代码可能会有问题,因为你经常不知道变量的类型,所以你要尽职尽责地找出,或者使用断言来保证传入类型的方法。< / p>

Groovy是一种弱类型语言。变量的类型经常被忽略,或者“自动”自动转换,这会导致许多错误和性能降低。

即使是最好的IDE也缺乏,因为该语言实际上是无类型的变量。在许多情况下,编译只是无法知道变量的类型。即使您声明变量的类型(这有助于编辑器提出建议),许多程序员也忘记定义变量类型。

我希望在Java中看到它有趣的想法,但如果你的Groovy代码需要超过一千行,那就远离它。

*答案简而言之* 总结一下,以下是这两个问题的答案:

  

您可以提供哪些具体提示   会加速我对Groovy的工作吗?

仅用于小东西。否则,您将承担技术债务(请参阅维基百科)。到目前为止,我处于类似情况。单元测试,使用控制台测试代码片段等,可以加快您的开发速度,因为它易于学习和使用。一定要掌握闭包,集合和循环,并了解Groovy中的Java特性。

不要将纯Groovy用于复杂或大型应用程序。从长远来看,维护会减慢你的速度。

  

意义 - 在哪些领域做常规   优于java,我应该在哪里   坚持Java?

在大型或重要项目中,您需要保持自律,并使用可靠的工具。这就像盖房子:我正在建造一个娃娃屋,Groovy很好:-) ......如果它不完美,那就没什么大不了的了。如果你建造自己的房子或更大的东西,几乎没有容忍错误,你需要使用质量更好的工具和材料,不要让你监督潜在的问题(例如Java)。

无论如何,Groovy就像鸭子磁带:有些人可能没有伤害。