编辑器与ide_IDE与编辑器

编辑器与ide

您正在使用IDE还是编辑器? 您是“硬核”程序员,还是使用IDE的那些娘娘腔的现代开发人员之一? 您是否已对emacs或vim进行了个性化设置以使您的生产率提高200%? 还是您认为emacs至少对Java没用 。 无论哪种方式,这都是一个有趣的话题,讨论–使用IDE与使用可自定义的文本编辑器(vim / emacs / Sublime /…)的优缺点是什么。 当然,我首先要声明“ IDE”和“编辑器”之间的区别不是那么明显。

让我们首先来看一个简单的示例-Java(和C#)。 这是不费吹灰之力的,因为重构,调试,层次结构,与框架和构建工具的集成等所有奇妙的功能,IDE赢得了巨大的利润。 仅出于教育目的,应该限制用IDE以外的任何其他语言编写Java,否则您将损失太多。

但是对于其他语言而言,并不是那么黑白,在这些语言中,IDE并不那么成熟,或者您无法拥有静态类型/编译/ jvm / ..语言中的某些功能。

让我们来看看Groovy。 JVM语言。 IDE具有语法颜色,可以自动完成,并使用快捷方式跳转到文件。 您也可以使用文本编辑器来实现。 但是,使用文本编辑器,您可以轻松插入运行grails应用程序的外壳程序脚本,然后运行Selenium测试,而从IDE中运行grails应用程序却很痛苦(至少过去是很痛苦的)。 因此,您最好选择文本编辑器?

此外,IDE可能会将某些内容泄漏到应用程序中。 新手开发人员可能会提交绝对的构建路径,IDE可能会对框架提供非常酷的支持,但是缺少最新版本中出现的一个非常重要的参数,因此您必须采取解决方法。 IDE可能使生成吨的样板代码太容易了,以后很难支持。 可能有轻微甚至是潜意识的陷阱,但仍然–编辑器没有泄漏任何内容,因为它没有任何泄漏的内容。

但是,让我们详细说明一下可定制性。 出色的文本编辑器使您可以编写插入编辑器的简单脚本,从而改善您的体验。 这很重要。 直到我不得不切换到IDEA之前,我才意识到这一点,那里的ALT +箭头没有跳过驼峰,而只是跳了空白。 悬停在一个类上没有显示它的包。 事实证明,很小的事情对我很重要。 幸运的是,IDEA可以配置这些东西,但是可能没有。 如果要编写插件,则可能需要了解OSGi,SWT,复杂的插件API等。 为这么小的事情写一个插件实在是太过分了。

因此,我想从IDE中看到非常重要的一件事–应该更容易自定义它们。 简单地删除文件(例如,使用任何jvm语言)应具有更改行为的能力。 当然,后果自负,并且很快,您可能要花几个小时来调试哪些两个文件有冲突并且正在阻止您的IDE,但这应该可用。

请记住该示例,其中添加了运行Selenium测试的shell脚本。 这就提出了一个涉及许多这些编辑器自定义的问题–它们是否真的应该是编辑器的一部分? 他们不是属于构建​​工具吗? 其中许多确实属于构建工具。 前处理器/后处理器,代码生成,单命令部署,执行发布,运行功能测试等。我想说这些都属于构建工具,因为CI服务器也必须能够执行它们,而且无头。

除了要添加到编辑器中的“插件”之外,这些插件使编写代码和浏览项目更加容易,其他所有成员可能都需要与其他团队成员共享。 有一个单独的存储库? 并在多个版本上进行了测试? 事实证明,这可能是一项耗时的工作,而将它们交给自己处理可能会导致整个团队的不一致。 通常,您会在每个项目中随身携带整个文本编辑器配置,但是其他成员的配置可能会与您的配置冲突。 我无法举一个具体的例子,因为我从未大量定制过文本编辑器,但是总的感觉是,除非您独自工作,否则您不应该为自己和您的个人流程定制太多的东西。 这里的一个很好的论据是,您将能够切换使用的语言而不必失去生产力的窍门。 鉴于IDE缺乏互操作性,这是一个公平的观点。 但是大多数明智的IDE确实可以使您达到一定的显着水平的生产力,而其他20%的IDE则不值得。

无论您是否同意上一段中的陈述,如果IDE提供“插件”以快速,轻松地进行自定义,我认为除了“ I”之外,没有其他使用文本编辑器的令人信服的理由。太习惯了”。 从定义上讲,任何IDE都具有比文本编辑器更多的功能,但是它缺乏灵活性/可定制性。 如果以合理且可重用的方式解决了该问题,那么即使对于动态语言也不会使用IDE。 当然,开源IDE。


翻译自: https://www.javacodegeeks.com/2014/03/ide-vs-editor.html

编辑器与ide

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值