3 回答
TA贡献1891条经验 获得超3个赞
这实际上取决于您使用的语言,但是在C#和Java中,我发现IDE对以下方面有好处:
快速导航到类型,而无需担心名称空间,项目等
通过将其视为超链接来导航至成员
当您不记得所有成员的姓名时自动完成
自动代码生成
重构(大量)
组织导入(使用C#中的指令在Java中自动添加适当的导入)
输入时警告(即某些错误甚至不需要编译周期)
将鼠标悬停在某处即可查看文档
以一种有用的方式同时在屏幕上同时查看文件,错误/警告/控制台/单元测试等以及源代码的视图
易于从同一窗口运行单元测试
集成调试
集成源代码控制
直接从错误详细信息导航到发生编译时错误或运行时异常的位置。
等等!
所有这些节省时间。这些是我可以手动完成的工作,但更加痛苦:我宁愿编写代码。
TA贡献1784条经验 获得超8个赞
关于为什么我使用IDE的简短答案是懒惰。
我是一个懒惰的灵魂,当有一种简单的方法可以执行此操作时,我不喜欢用困难的方法进行操作。IDE使生活变得轻松,因此对我们懒惰的人们有吸引力。
在键入代码时,IDE会自动检查代码的有效性,我可以突出显示一个方法并按F1键以获得帮助,右键单击并选择“转到定义”以直接跳至定义位置。我按了一个按钮,然后为我自动启动了带有调试器的应用程序。因此,清单继续。开发人员每天做的所有事情都聚集在一个屋顶下。
无需使用IDE。不这样做只是艰巨的工作。
TA贡献1856条经验 获得超11个赞
我从相反的方向提出这个问题。我从小在Makefile + Emacs领域的进站编程中长大。从我最早的DOS编译器Microsoft Quick C上,我就有一个IDE来自动执行操作。我花了很多年在Visual C ++ 6.0中工作,当我毕业于Enterprise Java时,我与Borland JBuilder一起工作,然后选择了Eclipse,这对我来说非常有用。
在我最初的自学,大学学习以及现在的职业生涯中,我逐渐了解到,仅在IDE中完成的任何主要软件开发都会适得其反。我说这是因为大多数IDE都希望您在他们的工作中我控制世界的独特风格。您必须按照项目对项目进行切片和切块。您已使用其奇数对话框管理项目构建。大多数IDE都无法很好地管理项目之间的复杂构建依赖关系,并且依赖关系很难100%正常工作。我曾经遇到过这样的情况,除非我执行Clean / Rebuild All,否则IDE无法生成有效的代码。最后,几乎没有一种干净的方法可以将软件移出开发并从IDE移入其他环境(如QA或Production)。建立所有部署单元通常是一件棘手的大事,或者您有一些IDE供应商为您捆绑东西的笨拙工具。但是再说一次
我了解到,与团队一起进行大规模开发,如果我们使用IDE开发代码并使用手动编写的命令行脚本来完成所有构建,那么我们将是最高效的。(我们喜欢使用Apache Ant进行Java开发。)我们发现,在IDE外运行脚本只是复杂的构建过程中的一次点击繁琐或自动化的噩梦,将Alt + Tab切换为一个更容易(且破坏性较小)。外壳并在那里运行脚本。
手动构建要求我们错过现代IDE中的一些精妙之处,例如后台编译,但我们获得的要紧得多:可以在多种环境中生存的简洁易用的构建。所有那些敏捷人士都在谈论“一键构建”吗?我们有它。我们的构建脚本也可以由连续集成系统直接调用。通过持续集成来管理构建,这使我们可以更正式地将代码部署分段并将其迁移到不同的环境,并且当有人签入破坏构建或单元测试的不良代码时,我们几乎可以立即知道。
实际上,我担负起从IDE进行构建的角色并没有对我们造成太大的伤害。Eclipse中的智能感知和重构工具仍然完全有用和有效-后台编译只是用来支持那些工具。而且,Eclipse独特的项目切片是一种很好的方法,可以以一种每个人都可以理解的方式从心理上分解我们的问题集(尽管这对我的口味还有些冗长)。我认为Eclipse最重要的事情之一就是出色的SCM集成,这就是使团队开发如此愉快的原因。我们使用Subversion + Eclipse,它非常高效,而且很容易培训我们的人员成为专家。
添加回答
举报