JSL 版本变更文档我相信我们都遇到过有此问题的客户……一位客户正在使用 JMP 13,但出于 JSL 兼容性原因拒绝升级到较新版本。他说他有数千个脚本需要更新,但他不清楚需要更新哪些。我们是否有任何文档/指南指定如何将 JMP 13 脚本转换为 16+?粗略搜索一无所获。
回复:JSL 版本变更文档嘿!脚本更改并不总是出现在这些发行说明中。更可靠的来源是脚本指南的兼容性说明附录。它将告诉您指南适用的版本与先前版本之间的大多数问题。您必须逐步了解才能获得所有内容。
话虽如此,我有很多客户都遇到过这种情况,我通常会揭穿他们的谎言。我提醒他们可以在同一台机器上安装两个版本。我告诉他们将新版本与旧版本一起安装,并在新版本上运行他们最关键或最复杂的脚本,看看它们是否有效。如果出现问题,我们会处理。但有趣的是 - 从来没有出现过问题。日志可能会出现一些“此功能将在未来的版本中删除。”的注释,但脚本仍然运行。开发人员在维护 JSL 的前向兼容性方面做得很好。我已经将这种策略用于早在 v7 中编写的脚本。
我遇到的唯一问题(任何类型的问题)是 ODBC 驱动程序与 JMP 位数匹配。但这不是 JSL 问题。当发生该问题时,它会在日志中抛出一个明确的错误。但我认为 13 是第一个仅限 64 位的版本。所以,这不应该是个问题。回复:JSL 版本变更文档JMP Development 也遇到了同样的问题!IDE、编译器或代码库的新版本以及开发人员对源代码的更改都可能破坏 JMP。我们很久以前就采用了业界最佳的单元测试实践。我们很久以前就在 JMP 社区上发布了内部使用的 JSL 单元测试框架。我们每天晚上在每日构建后运行数十亿次(好吧,也许没有那么多)测试,以验证错误修复和新功能,并且没有引入回归。此测试是完全自动化的,或者我们也可以运行单独的测试。
依赖 JMP 脚本的公司也应该采用这种做法。它不能防止错误,但可以帮助您在开发或修改脚本或升级到新版本的 JMP 时找到它们。
开发单元测试需要更多工作。它需要仔细思考和设计,并需要更多开发时间。我们在 JMP Development 中划分编程和测试工作(另一项最佳实践)。不过,公司可能只有少数 JSL 程序员,因此同一位开发人员可能会编写脚本和单元测试。
文档是必不可少的。我们付出了很多努力来使其尽可能有用。您将如何使用跨 JMP 的这么多版本的所有 JSL 更改的详尽列表?单元测试将针对您实际使用的 JSL 的更改。它更有效、更实用。
回复:JSL 版本变更文档因此,经过彻底的搜索,我唯一能找到的是: JMP® 新功能和发行说明 - JMP 用户社区
但是该文档并未涵盖发生的所有 JSL 变化(例如 JMP16 中的列名引用),也没有涵盖将 JSL 13- 脚本转换为 16+ 的任何最佳实践。
看起来在将旧 JSL 转换为新 JSL 的文档中存在差距,并且这影响了客户对新版 JMP 的采用。
回复:JSL 版本变更文档如果客户有这么多脚本和程序,那么他们没有参与早期采用者就太可惜了。除了版本控制和单元测试之外,这是检查脚本是否仍将在即将推出的版本中运行的最佳方法(即使公司不会升级,出于测试目的,一台机器进行测试就足够了。
从兼容性的角度来看,我预计 JMP 13 到新版本之间会出现一些问题,因为它们一旦使用平台元素来收集值、轮廓和类似内容。由于一些平台在过去的版本中改变了样式和结构,因此这些问题肯定会出现。
但是,我会开始指导他们进行编码的最佳实践。并鼓励他们参加 Scripters' Club 会议。在此页面上,您可以找到欧洲 Scripters' Club 过去 2.5 年内的所有录制会议。其中包括一些指导和最佳实践会议,以及 2023 年的完整课程。这些会议由来自我们客户群的实际用户管理和展示,他们负责公司中的培训、自动化等。
回复:JSL 版本变更文档这里是另一个极好的资源: https://www.jmp.com/en_us/articles/unit-tests.html