我帮助开发和管理软件,其中(除其他外)用户可以提供自己的 JavaScript 脚本来运行宏等。我们在 Java 环境中使用 Mozilla Rhino。我们有一个相当大的“API”,其中有各种众所周知的变量和实用函数,我们先验地放置在范围内。例如,“cellObject.assignTo(name)”之类的东西被广泛使用,但显然只在我们的产品范围内才有意义。
这一切都运行良好,但现在我们即将发布更新更好的软件版本。除其他外,它将彻底更新各种对象的API,甚至更改一些位于范围内的变量的名称(例如“cellObject”为“plot.getCell(0)”)。
除了这个新版本,我们还将包括一些用户定义脚本的自动迁移。所以我想知道,你们认为最好的行动计划是什么?是否有任何可靠的工具可以提供帮助?目前,我们正在研究在脚本上执行一些非常复杂的正则表达式,作为迁移的最大努力。有没有其他人遇到过类似的事情?