我很好奇其他软件开发人员多久重新评估他们的开发环境和工具。我曾经在一家大公司工作,拥有每个人都讨厌的死板工具集,但却无能为力。所以没有人真正更新他们的开发环境,因为我们不能在那个环境中。
现在我在自己的初创公司中,我发现我可以花无数时间评估新工具和开发环境,但我真的不应该也负担不起。我已承诺每月花 1 天时间研究新的开发工具并试用它们,看看是否值得转换。
您多久试用一次新的 IDE、编辑器、错误跟踪工具、调试器?或者更新到您自己的新版本?
我很好奇其他软件开发人员多久重新评估他们的开发环境和工具。我曾经在一家大公司工作,拥有每个人都讨厌的死板工具集,但却无能为力。所以没有人真正更新他们的开发环境,因为我们不能在那个环境中。
现在我在自己的初创公司中,我发现我可以花无数时间评估新工具和开发环境,但我真的不应该也负担不起。我已承诺每月花 1 天时间研究新的开发工具并试用它们,看看是否值得转换。
您多久试用一次新的 IDE、编辑器、错误跟踪工具、调试器?或者更新到您自己的新版本?
这是一个持续的过程,但我不会比每两年左右更频繁地进行重大更改。一个重大的改变需要太多的时间,而且这种权衡通常是不值得的。主要更改可能被定义为更改现有项目的整个目标或编译器架构和工具链。
请注意,项目之间可能会发生重大变化——一个新项目可以采用完全不同的架构和工具链,而无需大量成本。但是应该注意不要在这里太过分了。需要一个评估过程来防止选择在以后项目变得复杂时不支持项目的设置。
但是对于较小的更改,我只是在找到机会和理由时升级我的工具和环境。
-亚当
对我来说,升级是事件驱动的,而不是计时器驱动的。我密切关注新工具(库、IDE、CASE 工具等),并在它们出现在我的雷达上时对其进行评估。
使用 Microsoft 技术,如果没有令人信服的理由阻止我,我会迁移到最新版本。对于 OSS,我使用我所知道的,除非有什么令人信服的东西推动我前进。
IDE 的. 我倾向于坚持使用我知道会成长并支持我的语言的语言。在我的开发环境中,它是vim。它正在积极开发中,并且有许多脚本(有点像插件)以及 DIY 文档。学习 IDE 也需要时间,而精通它、有效地使用它需要更多时间。
修订控制。我尽量保持在最前沿。新功能的好处很重要。例如 Subversion 1.4,仅支持基本合并。Subversion 1.5 大修了他们的合并系统,并添加了新功能。
任务和项目管理。我倾向于每隔几年才这样做一次,并且只有在有良好的感知利益的情况下。否则,我将继续每隔几个月将我当前的系统升级到当前的稳定版本。
图书馆。他们是一个折腾。因为我所做的大多数事情都不会以出货的产品告终。我觉得经常升级更自由,但是当向后可比性被破坏时,我们倾向于回避升级。
希望我的 0.02 美元有用。
在工作中,当我们的版本达到支持生命周期结束时,我们会升级工具。我们升级到下一个旧版本。
在家里,我一找到新东西的免费副本就升级(例如,参加 3 次网络广播的某些交易会向您发送 vs2008 标准版、用户组等的副本)。
我只会更新,除非我真的错过了某个功能,或者意识到不使用一种工具而不是另一种工具会导致更多任务花费更长的时间/效率降低。
IDE - 这可能很棘手,但这些年来我经历了一些不同的进展。有时,参与项目或特定功能可能会触发升级。例如,有人使用 LINQ 实现了一项功能,因此 ASP.Net 2.0 项目在一夜之间变成了 3.5 项目。其他时候,它只是当前使用的。这里的一点是,更改会影响整个团队,因此不能轻易做出更改。
错误跟踪工具 - 这也是必须仔细管理的集中式东西的土地。由于这是一个 QA 工具,我希望他们有自己的策略来查找更新的频率以及何时安装它们,因为有时新功能可能很酷。开发团队等价于何时更新 wiki。
版本控制——这些都是单独管理的,因为我们大多数人都使用 Tortoise SVN,所以我们每个人都有一个本地客户端副本。因此,当有人想要更新时,更新就完成了。就个人而言,我喜欢尽可能地了解最新情况。
操作系统——虽然其中一部分可以在部门基础上进行控制,但有足够多的不同部分需要更新,有时我会自己运行更新。我不确定我们什么时候会迁移到 Windows 7,因为我知道我们不会迁移到 Vista,而且我认为在某个时候我们会离开 XP,因为我已经使用 XP 大约 5 年了在此之前,我使用了几年的 Windows 2000 Professional 和 NT 4.0。
PC - 我相信每 3 年我们都会购买新机器的政策。当我开始现在的位置时,我使用的是 P4 机箱,因此升级到双核机箱非常好,并且 RAM 从 2 GB 提升到 4 GB。