Eclipse 作为 IDE - 作为 Java 初学者,你觉得缺少什么?

2022-09-03 03:38:42

我正在研究一个解决方案,旨在解决新手程序员在生产中的代码上“修改代码”时遇到的问题,同时修复错误/执行更改请求。众所周知,Eclipse是一个伟大的IDE。与使用Textpad之类的东西相比,诸如代码完成,打开声明,类型层次结构,包资源管理器,导航器,查找引用等功能可以帮助人们更快地修复问题。

如果你是一个新手Java程序员,并且你正在使用Eclipse IDE,你认为Eclipse IDE的哪些方面不太有用/不那么直观?如果你是一个经验丰富的程序员,新手期待你为他们解决的常见问题是什么?

请忽略与以下相关的问题:领域专业知识(业务知识),Infra(在哪里测试您的更改等),与性能相关的问题(eclipse搜索速度慢等),特定语言的技能水平(将开发人员视为新手)...并认为一种语言 - Java

我在我的小团队中做了一个本地调查,这里有一些:

  • 新手使用 Eclipse 来处理写入在运行时提供实现的接口的代码。执行“开放声明”将始终向您显示一个界面。这有时可能会令人困惑。
  • Eclipse 在开发 EJB 时并不直观。当然,您知道创建新Bean所要做的就是右键单击并“创建Bean”,但是,一旦创建,它对下一步应该是什么没有任何上下文帮助。例如,生成存根。
  • 当数据源映射与实体bean时,更改某些东西会搞砸整个流程,并且eclpise永远不会抱怨/暗示。
  • 开发使用Struts的应用程序,eclipse并没有告诉你当你改变struts-config.xml时,特定的Web流会受到影响。

在这一点上,对我来说,作为一个有兴趣为我的研究收集意见的人,Eclipse似乎可以使用更多的“上下文运行时提示”。

我相信社区会有更多的东西要添加...请添加更多的负面体验(仅从代码更改的角度来看)。

编辑:我想,我的问题太长了,令人困惑。我将稍微改写一下,并保持简短:

虽然“进行代码更改”(不类似于代码格式化,与基础设施相关的活动,CVS等......比如重构),但您最不喜欢/讨厌eclipse IDE的哪些功能?以下是示例:

  • 修改已写入接口的代码时:“在对象实例上打开声明 /F3 会在运行时提供实现时显示接口”。
  • 使用 EJB 更改应用程序时:无上下文帮助
  • 使用 MVC(弹簧/支柱)更改应用程序时:没有关于更改影响的警告。

答案 1

Eclipse 中缺少的是:

软件可视化,例如系统复杂性视图 [Lanza 2003]

还有兰扎,班级蓝图[Ducasse 2005]

后脚本:Eclipse中的软件可视化:X-Ray提供了Java项目的系统复杂性视图,http://xray.inf.usi.ch/xray.php(通过@anjaguzziPaul Lammertsma)

Software Visualization

然后协同过滤“其他开发人员在编辑这种方法之前也进行了编辑”[Zimmermann 2005]

以及可浏览示例的集合,以及这些示例级别的自动完成。也就是说,例如,如果您的写入

ByteBuffer buf = file.

并点击自动完成它应该搜索代码库和interwebs,以获取将文件转换为字节缓冲器的示例,并在那里插入10-20行。

当然,还有一个功能,我可以编写一个单元测试,然后IDE在互联网上搜索通过测试的类。是的,这是可以做到的!

这个清单可以继续下去,更多工作的良好起点是过去的程序

这些都在ICSE会议的保护伞下。


答案 2

“新手问题”我已经看到了自己(我已经使用Eclipse很长一段时间了,但它偶尔会让我“感到惊讶”),并帮助刚刚开始使用Eclipse的同事:

  • 它足够大,足够复杂,起初对某些人来说非常吓人。似乎人们认为网豆最初更容易使用。一位同事与VI编辑一起避难了一段时间......
  • 安装插件可能很棘手(查找站点URL,了解插件,为什么在“帮助”菜单下“安装”+“更新”???)
  • Eclipse 3.5/Galileo的更新仍然很慢(但比以前好得多)。有时很难理解仅通过它们的名称安装哪些插件。
  • 除了Mac之外,还有任何平台 - “窗口”菜单下的首选项似乎不合逻辑?
  • 了解如何整齐地设置项目类路径。设置正确的项目 JDK 版本。
  • ant/maven 构建工具的类路径与 eclipse 的类路径之间缺少或意外的交互(ant/maven clean 会导致在共享类路径时出现 Eclipse 编译器错误等)。
  • 观点和(大量)观点起初令人困惑/压倒性。哪些在什么时候有用?如何将视图拖动到所需位置或恢复关闭的视图?
  • 某些 JDK/Eclipse 版本组合需要的 PermGen 空间过多,而不是默认可用的空间,需要一段时间才能诊断出来。

推荐