Answers:
如果“正式的”构建系统(如Continuous Build服务器所使用的)对所有人都相同,那么我看不出团队中的每个成员都无法选择他想要的工具的任何原因...
如果您的团队依赖于仅可用于某些IDE的某些插件,则只有在同一开发平台下统一每个人才有意义。我还发现,如果开发人员遇到与我相同的IDE,则可以更轻松地帮助他们,而如果我要使用不熟悉的界面阅读某人的屏幕,则需要花费更长的时间。
我没有使用混合IDE的经验,除非您计算出一个商业IDE并偶尔添加一个文本编辑器“多个IDE”作为补充,但是我可以想到一些优点和缺点。
优点
缺点
有一个可以强制执行此操作的原因。只需考虑Visual Studio和emacs / vim。与在Windows上一样,Visual Studio将在行尾添加一个额外的\ r。这弄乱了emacs / vim中的显示。选项卡也会造成问题。我们面临的问题是,我们的开发人员在Linux中工作,但我们的软件体系结构在Visual Studio中还是可以接受的。他曾经诅咒我们说我们没有正确格式化文件。但是,当他发现这是由于默认设置问题引起的时,我们都同意了相同的格式。
如果有人强迫我使用特定的IDE,我不会感到难过。无论对团队有什么好处,我都会尊重并会做出相应的妥协。
但是随着时间的流逝,这种情况已经改变。10或15年前,在我工作过的地方没有太多选择。(是的,编辑很多,但不是“选择”)。我在15年前工作的那家商店是“老派”(即使在那时!),而vi是编辑。没有选择。这实际上非常有用,因为经过第一个月的指责和宣誓之后,我才真正喜欢上它。
如今,有许多选择,每种选择都有许多优势。
以我的个人经验,我使用IDE-rubyMine-几年了,然后才切换回vi(m)。我之所以这样做,是因为Ruby是一种很难为IDE(鸭子类型和其他动态功能)编写IDE的语言,因此IDE的运行速度往往很慢,并且/或者需要最新,最快的机器。
我认为不是每个人都需要具有“相同”的IDE,但是每个人都具有“受支持的” IDE会很好。
例如,就注释和更新代码而言,如果将IDE集成到代码审查过程中,那么每个人都可以使用受支持的平台是有意义的。
如果您的公司使用的是Rational Team Concert之类的协作环境,而一个或两个人想使用不受支持的IDE(或其他版本),而其他所有人都使用兼容的IDE,那么对于那些选择成为在支持循环之外。
听起来有点像“我们在以前的工作中使用了它”。好吧,他们不是以前的工作。
如果它不影响您的工具链或源代码管理插件,那么可能是的。再说一次,这两个新人能展示出明显的好处吗?他们使用过您的IDE吗?
否则,除非有充分的理由,否则我不会忍受这种废话。他们不是以前的工作:想离开那里真不是那么好。使用另一个IDE是旧工作中的唯一亮点:如果是这样,他们应该对STFU表示感谢。
是!实施单例IDE。
当项目依赖项更改时,它将产生问题。如果一个人对项目引入了新的依赖关系,那么每个人都将浪费时间来引入新的依赖关系,并且有些人可能会失败并浪费时间。浪费大量时间。
应该有一个很好的理由向团队添加其他IDE,这意味着节省的时间应该超过专门用于将系统迁移到不同IDE的时间。