Programming languages 不断变化的框架/API—我们如何跟上?

Programming languages 不断变化的框架/API—我们如何跟上?,programming-languages,frameworks,methodology,updates,Programming Languages,Frameworks,Methodology,Updates,这个问题实际上不是针对任何特定的技术,而是针对一般开发人员的问题 从经验中我们都知道事情会改变。框架不断发展,新功能不断增加,内容不断删除 例如,当2.0版出现时,使用“ABC”框架1.0版的产品会如何适应(ABC可以是.NET、Java、Cocoa或任何您想要的) 一种解决方案可能是使框架向后兼容;因此,为1.0编写的代码仍然可以在框架的2.0版本中工作 另一种可能是有选择地只针对框架的1.0版,但这可能会使许多新奇的新功能未被使用(许多.NET2.0应用程序似乎都这样做了) 关于我们作为开发

这个问题实际上不是针对任何特定的技术,而是针对一般开发人员的问题

从经验中我们都知道事情会改变。框架不断发展,新功能不断增加,内容不断删除

例如,当2.0版出现时,使用“ABC”框架1.0版的产品会如何适应(ABC可以是.NET、Java、Cocoa或任何您想要的)

一种解决方案可能是使框架向后兼容;因此,为1.0编写的代码仍然可以在框架的2.0版本中工作

另一种可能是有选择地只针对框架的1.0版,但这可能会使许多新奇的新功能未被使用(许多.NET2.0应用程序似乎都这样做了)


关于我们作为开发人员应该做些什么作为最佳实践来保持我们的技术最新,同时又不破坏我们的应用程序,有什么想法吗?

哦,可能的答案

我的想法,虽然不是独一无二的(可以肯定的是),却非常像这样

  • 在源代码管理中分支代码--您正在使用源代码管理,对吗
  • 在分支上,更新框架(或您所拥有的)
  • 修复单元测试中的问题。利用新的框架API,删除被贬低的引用,等等
  • 彻底测试
  • [可选]推回行李箱(此和4可能会翻转)
  • 发布到生产环境-恭喜,您现在进入了新的框架

  • 其实并不那么容易,但我相信最简单的答案可能是最好的答案。你必须向前走

    预测并投资于变化。

    许多企业似乎认为变革是一件坏事。它使其他工作过程复杂化。但作为开发人员,我们往往会有不同的看法

    更改,特别是新版本,可以带来许多好处,如安全更新、性能增强和功能。改变往往是不可避免的。那么,为什么不把它看作是一个现实的情况,而不是一个惊喜呢

    您可以做一些事情,比如以非特定于供应商的格式备份数据,以防某些新型技术不起作用,您需要跳槽

    此外,如果您有足够的资源,您可以同时运行某些东西的旧版本和新版本。理想情况下,在有人对您的生产系统进行评估并签字之前,您不会希望您的生产系统运行最新、最优秀的软件。单元测试和生产系统的beta/开发克隆之类的东西可以在这个过程中提供帮助


    改变应该被接受,而不是害怕。开发人员、利益相关者和业务人员都应该跟上新技术和框架的发展。随时准备应对变化。在苏俄,API会跟上你

    我看到的唯一两个“解决方案”是您的建议:保留或升级到新框架。我认为,一般来说,当您的API收到重大更新且您的软件很重要时,最好评估升级的好处,如果这些好处超过了升级所需的时间,那么最好的做法就是升级。

    选择一个保守、有风险的,或者介于适合您的业务的方法和后续操作之间

    例如,如果你的公司致力于创新,你需要能够使用最新版本的框架——或者至少自由地研究它们。你需要雇佣对这样的环境感兴趣和舒适的人——一些开发人员对此非常兴奋,而其他人则不那么兴奋。加入一些结构以确保升级安全(分支和静态体系结构)。客户应该了解他们在这样一家尖端公司所获得的好处——如果你不与他们沟通,这可能不是他们所看重的东西,当系统更新导致事情破裂时,他们会(理所当然地)感到不安

    或者选择一种保守的方法。选择一种可靠的、老旧的技术,不要计划对其进行更新,除了小版本。用你的话来说,瞄准一个特定的版本。雇佣欣赏这种环境的人

    在道路中间捡更多的东西。 这些方法中的每一种都适用于不同的时间——我在不同的项目中都遇到过两个极端