技术开发 频道

四大优异Java编程工具横向对比

  JetBrains IntelliJ IDEA 9.0.3

  JetBrains的IntelliJ有两种版本:付费和免费的开源社区版本,本文用于比较的是其付费版本,社区版只提供了基本的编辑功能。IntelliJ IDEA比其它IDE的速度要快,因此吸引了大批忠实用户。对于初学者,IntelliJ的开发人员经常关注Java社区的一举一动,因此他们总能以最快的速度添加对新的,热门产品的支持,如IntelliJ是第一个为Groovy和Grails提供强大支持的IDE,也是第一个为JavaScript提供高级支持和调试功能的IDE,即使它不是第一个提供支持的,也会争取是第二个,或是提供更好的支持。IntelliJ可与Ant和Maven无缝集成,支持Spring,并能够从Java编码跳跃到Adobe Flex和PHP。

  IntelliJ IDEA凭借其独树一帜的功能赢得了众多用户,如几年前,它率先推出用于单元测试的结果对比窗口,在进行单元测试时,可以并排对比预期结果和实际输出,这在当时可是非常拉风的功能。

  即便是如今,它的功能也比其它竞争对手更优秀,有些功能完全是少有的,例如,它提供的重构工具就比其它IDE强大得多,此外,它内置的语法检查器不仅可以揪出明显的语法错误,还可以“闻”出问题,那些写得不好,但可以正常运行的代码在它灵敏的嗅觉下暴露无遗,这样的代码实现包括:简单功能复杂化,只有一个为“真”的条件等。IntelliJ还提供了代码覆盖工具,它能在IDE中显示测试时哪些代码被执行过了,IntelliJ还捆绑了开源的EMMA产品。


图5 IntelliJ IDEA有两个并排的编辑器

  IntelliJ还有一个很独到的功能,那就是高亮显示重复的代码,在一个很大的代码库中要找出重复的代码可不是件容易的事情,它还提供了一个依赖分析工具,可以准确地显示出方法之间的依赖关系。

  IntelliJ往往会预先考虑到很多需求,例如,这里提到的所有IDE都有一个相同的弹出式功能,当你在编辑器中输入方法的名称时会弹出一个辅助窗口,这个功能也被称为自动完成,在IntelliJ中,它会借助代码上下文信息猜测你要使用的函数,并将其置于列表顶部,因此使用箭头键向下滚动的几率就小多了,最不可思议的是,它的准确率很高,这是一个非常人性化的功能。

  说了这么多的优点,难道IntelliJ就没有缺点了吗,当然不是,抱怨最多的就是缺乏良好的文档支持,如果遇到问题可能没有人能帮得上忙,要弄清楚其高级功能也不容易,幸运的是,开发商会回答电子邮件提问,但要想得到正确的答案,一次只能问一个问题,由于开发商在俄罗斯,因此还需要忍受时差,IntelliJ的第二个问题是启动时间过长,虽然在9.0中有所改善,但启动速度仍然缓慢。除了这些问题,IntelliJ是一个优秀的IDE,与其它竞争对手比起来,它是一款成功的商业产品。

1
相关文章