文章
· 6 hr 前 阅读大约需 3 分钟

将遗留代码迁移到新版本:技巧与窍门

不可避免的是,您最终需要将您的代码从一个版本的 IRIS 或 Cache 升级到最新版本的 IRIS。在这一过程中,您可以采取一些好的步骤来为自己的成功做好准备。

仔细阅读文档

 

在迁移任何代码之前,你应该先查看IRIS 文档页面,其中包含许多关于IRIS不同版本变更的有用资源。如果你需要跨多个版本升级,请查阅所有相关版本的文档,而不仅仅是目标升级版本。对于每个版本,点击“维护版本变更”(Maintenance Release Changes)链接,你将看到一份开发人员升级清单,对指导你需要进行的修改非常有帮助。你还应查看“发布说明”(Release Notes),其中列出了可能对你有用的新功能,以及已被弃用的功能。此外,建议访问“产品新闻与警报”(Product News and Alerts)页面,以获取最新的紧急事项。事实上,即使不进行升级,定期查看该页面或订阅警报通知也是个好主意,以便及时了解变更。

了解你的替代方案

根据你在文档中阅读到的内容,你可能会看到一堆问题。不过,在开始处理这些问题之前,您应该花些时间了解一下有哪些替代方案。如果您喜欢使用的特定 ObjectScript 类已被弃用或移除,那么如果您打算使用集成的 Python,就不要只寻找 ObjectScript 的替代品。如果您是 Zen 报表的用户,InterSystems Reports 就是该工具的替代品。$ZF -100 已经取代了 $ZF-1。许多其他被移除的组件都有了更新的替代品,在重新发明轮子之前,你应该先找找它们。

扫描、弃用、再扫描

熟悉 %SYSTEM.CodeScanner 类。该类包括类查询(或早期版本中的类方法),可检测已废弃项的使用和其他一些常见问题,如使用 $ZF -1 或 $ZF -2、使用 %this 引用当前对象、使用旧类关键字等。

扫描代码后,您将面临如何解决这些问题的选择。其中有些问题很容易解决,只需修改代码,使用新的工具和方法即可。而其他问题则需要付出更多的努力。在决策过程中,请记住您可以废弃自己的代码!弃用的关键词可以应用于参数、属性、方法,甚至整个类。这一点经常被程序员忽视。如果你决定弃用某些东西,那么你可以再次使用代码扫描类 ,找出所有这些东西的使用位置,然后解决 这些 问题,以此类推。根据你对这个兔子洞的深入程度,可能需要几次才能理清所有这些问题。现在可能要做很多工作,但以后可以省去很多麻烦。

重新调整表参数

表调整(Table Tuning) 已经存在了一段时间,并且经历了一些变化。即使是最近的 2025.2 版,也对该流程进行了重大改进 。如果您正在使用旧版本的代码,却没有重新调整表,那么您可能会错过该工具的一些重大改进。如果您利用了这一点,也许就能在不触及任何代码的情况下获得相当高的效率!

彻底测试

再多的准备工作或工具也无法完全取代老式的测试。无论您偏爱的测试机制是 单元测试、Postman,还是客户支持部门的 Teresa(她清楚地知道您的用户倾向于如何破坏东西),都要确保他们参与并积极地在新版本上彻底测试您的代码。不要想当然。

参与到社区中来

我们中的很多人都经历过几次失败。我不会指名道姓,也 绝对 不会列出年龄,但在这个过程中的任何时候,您现在所在的社区网站都是一个很好的资源。如果您需要替换旧代码,您可以询问是否有人有旧代码,以及他们是如何从一个代码跳转到另一个代码的。这里对任何情况都很有帮助。

如果您对将来如何改进升级流程有想法,请在 " Ideas Portal "上发布 。InterSystems 和社区用户会定期检查这个门户,了解如何改进工作,您可能会因此而省去很多工作。

如果您遇到自己无法解决或社区帮助无法解决的问题,也可以通过 全球响应中心 直接从 InterSystems 获得更深入的帮助。

现在让我们听听社区其他成员的意见。让大家知道你以前是如何管理此类升级的。哪些地方成功了,哪些地方失败了,下次会采取哪些不同的方法?

讨论 (0)1
登录或注册以继续