这可能过于自以为是,但我试图理解为什么有些公司要求使用IDE。在大学,我使用的只是vim,虽然有时我使用netbeans与Java一起使用。 Netbeans很好,因为它完成了代码完成,并有一些很好的模板来配置我尝试过的一些陌生服务。
现在我的朋友们正在大公司工作,他们告诉我他们需要使用eclipse或visual studio,但似乎没有人能给出合理的原因。
有人可以向我解释为什么公司强迫开发人员进入受限制的开发环境吗?
答案 0 :(得分:6)
IDE与记事本 我已经在许多不同的IDE中编写代码,偶尔也会在记事本中编写代码。你可能完全喜欢记事本,但在某些时候使用记事本是工业sabatoge,有点像雇用一个用勺子代替铲子和顶针而不是桶的园丁。 (但谁知道,也许最美丽的花园可以用勺子和顶针制作,但肯定不会很快)
IDE A与IDE B 某些IDE具有团队和管理功能。例如,在Visual Studio中,有一个屏幕可以找到源代码中的所有TODO:行。这允许在其他IDE中可能存在或不存在的不同工作流。同上,用于源代码控制集成,静态代码分析等。
IDE旧vs IDE新 大型组织变革缓慢。不是一个与编程相关的问题。
答案 1 :(得分:5)
因为公司会对工具和平台进行标准化 - 如果您选择的工具与其标准相冲突,那么您可以反对,静默使用工具或使用所需的工具。
这三个都是有效的;如果您的替代方案不会引起其他团队成员问题,并且您提供了有效的参数(不仅仅是抱怨)。
例如:我根据工作需要在Visual Studio 2008中开发,但尽可能使用VS2010。 2010年保存的解决方案/项目无法在没有人工指导的情况下于2008年开通 - 因此我无法使用我选择的工具,因为这会对其他开发人员造成摩擦。我们还需要根据Resharper和StyleCop强制执行的文档标准生成代码 - 如果我切换到不同的IDE,我将更难以确保我生成的代码符合我们的标准。
答案 2 :(得分:3)
如果你擅长使用vim并且知道所有关于它的知识,那么没有理由切换到IDE。也就是说,许多IDE将具有许多标准的有用功能。维护Eclipse的安装比使用插件X,Y和Z维护Vim要容易,以便模拟相同的功能。
最重要的是......
我喜欢vim,并且会将它用于简单的事情,或者当我想运行宏时,或者使用C代码时。但是对于更复杂的任务,我将启动Eclipse / Visual Studio / Wing。
答案 3 :(得分:2)
采用适当配置的IDE可以极大地帮助开发人员。通过他自己的自定义开发环境来帮助每个雪花需要很多额外的时间;如果有人没有独立维护自己的开发环境,那么支持它们会非常昂贵。
企业IT部门非常不善于说出“足够糟糕”和“足够好”的开发人员之间的区别。所以他们只是让每个人做同样的事情。
免责声明:我使用Eclipse并喜欢它。
答案 4 :(得分:2)
理论上,如果所有团队使用该工具,它将减少让无经验的开发人员处理特定IDE问题所需的培训量。
无论如何,大多数顶级公司现在都没有强迫开发人员使用某些特定的IDE ......
我同意这最后的思考方式:你不需要你的团队掌握一个特定的工具,拥有许多团队知识可以提高你找到解决特定问题的更好方法的可能性。
答案 5 :(得分:2)
对我来说,我使用Visual Studio和ReSharper。没有它,我几乎不能有效(在.Net中)。至少,没有人向我展示过提高工作效率的方法...... Vim,这很棒。您可以在Visual Studio + R#中运行Vim,并获得IDE提供的所有细节,例如代码导航,代码完成和重构。
答案 6 :(得分:1)
同样的道理我们用锤子钉住东西而不是岩石。这是一个更好的工具。
现在,如果你问为什么你被迫使用特定的IDE而不是另一个,那么这是一个不同的主题。
使用.NET的地方99%的时间都会使用Visual Studio,至少这是我见过的。我还没有发现任何比Visual Studio更好的编写.NET应用程序的东西。
答案 7 :(得分:1)
这些功能在vim中不可用:
这就是我选择IntelliJ的原因。我可以回到棍棒和骨头,但我的效率会低很多。
答案 8 :(得分:1)
IDE中的代码完成不仅仅是:
等
与程序员的无能无关。任何人使用vim开发大型Java EE应用程序的效率都会降低。
答案 9 :(得分:1)
你在大学的项目有多大?几个文件中有几个类?或者更确切地说是数百个文件中的几百个类?
今天,我很荣幸地看到一个相当大的项目中的文件,程序员选择使用vi(是vi,而不是vim)和手工编写的命令行编译器调用(no make
)。函数中包含的文件跨越大约900行,带有一系列if-else-if-else结构(因为这样你将所有代码放在一个地方!!!!!!)。 Macho-Programmer在他最好的。
答案 10 :(得分:1)
确定在生产环境中强制执行特定工具集有很好的理由:
公司希望将所有内容标准化,以便员工离职时可以轻松取代该人员。
商业IDE提供了足够复杂的环境,可支持单个接口以满足各种开发需求并支持不同级别的代码访问。例如,开发人员,非程序员(图形设计师等)和文档编写者可以使用相同的文件集。
将此与集成的版本控制和代码管理相结合,无需有人学习特定的版本控制系统,突然之间的IDE开始变得更好更好。
它还简化了多宿主环境中构建系统的维护。
IDE更容易通过手机或视频提供教程,也可能附带这些教程。
等。等等。
执行标准化环境背后的业务决策超出了单个程序员的偏好,或者可能是对编程团队的理解。
答案 11 :(得分:1)
使用IDE可以帮助员工以最少的培训来处理大型项目。学习一些关键的组合 - 您将轻松地使用Eclipse中的数千个文件项目,IDE可以为您处理大部分工作。想象一下,在Vim中开发此类项目需要花费多少年的学习时间。
此外,通过IDE,可以轻松支持整个团队的通用编码标准:只需设置几个选项,IDE将强制您以标准化方式编写代码。
另外,IDE还提供了一些额外的奖励,比如重构工具(特别是Eclipse中的好),集成调试(特别适用于Visual Studio),智能感知,集成单元测试,集成版本控制系统等。
使用IDE的优点和缺点也很大程度上取决于开发平台。有些平台适合使用IDE,有些则不适用。根据经验,您应该使用IDE进行Java和.Net开发(除非您非常先进);你不应该将IDE用于ruby,python,perl,LISP等开发(除非你对这些语言和相关框架非常新)。
答案 12 :(得分:1)
如前所述,关于使用IDE的问题是基本生产力。但是,在选择特定IDE时,公司应该考虑一些问题。包括:
当然,还有很多。但是,我认为这个简短的清单可以帮助你看到,当我们谈论金钱和一些更大的公司时,有一些决定并不那么容易。
如果您开始使用自己的IDE,那么当另一位开发人员开始对您的代码进行维护时,会发生什么样的混乱。您如何看待应用程序在版本管理器上签名?现在考虑一家拥有30多名开发人员的公司,每家公司都使用自己的IDE(每个都有自己的配置文件,版本和所有东西)......
答案 13 :(得分:0)
真正的程序员使用可用的最佳工具来完成工作。有些公司拥有工具许可证,但没有任何迹象表明您不能许可/使用其他IDE,然后只打开另一个IDE来复制/粘贴您在本地IDE中所做的事情。
答案 14 :(得分:0)
这个问题有点开放,也许你可以把它变成社区维基......
正如您所指出的,对于某些操作(如重构,甚至是项目探索),IDE可能很有用,甚至是必须的:我在工作中使用Eclipse,在Java项目中使用Eclipse,我发现它非常有用在项目中出现的所有公共方法或类的使用情况列表。可能,我很欣赏能够从定义的位置重命名它,并自动更新所有这些事件
将鼠标悬停在名称上时显示JavaDoc的事实也非常好。像自动完成一样,跳转到类名等。
当然还有调试设施......
现在,我们的商店并不强制使用Eclipse!几年前,有些人使用Delphi IDE(忘了它的名字),我尝试过NetBeans等等。但我认为我们在Eclipse上标准化了事实上,但这是一个自然的进化而不是公司政策。当我们需要快速更新时,我们经常只在文本编辑器中打开文件...