问题标签 [backwards-compatibility]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
coldfusion - Migrating from ColdFusion MX (6, I think) to ColdFusion 7
I'm thinking of migrating my sites from ColdFusion MX to ColdFusion 7. Are there any issues I should be aware of? I heard that ColdFusion is backwards compatible.
ruby-on-rails - Ruby 1.9 的主要语法变化是什么?
另外,我想知道升级到 Ruby 1.9 会对 1.86 版的遗留代码产生什么影响。新版本是否向后兼容?
project-management - 一个项目应该在向后兼容性上花费多少时间和精力?
鉴于每个软件项目只有这么多的程序员时间专门用于它,你会花多少钱来确保产品与以前的版本向后兼容?其实有几点需要考虑:
- 软件的年龄会影响您的决定吗?当程序更新时,您会在向后兼容性上投入更少的时间吗?
- 该决定是否仅基于已安装副本的客户端数量?
- 您是否积极努力生成支持未来更改的代码和文件格式?
- 当您开发 v1.0 时,您是否尝试构建以使 v2.0 更容易向后兼容 v1.0?(留下“保留”字段就是一个例子。)
- 您如何决定在功能上“不,我们将不再支持它”?
git - OSS项目后向不兼容变更如何公告?
有时,当改进远大于缺点时,您需要引入向后不兼容的更改。可以轻松切换到旧行为,但用户必须注意此类更改。
因此问题是:如何宣布未来对 FLOSS(开源)项目的向后不兼容的更改,以便用户可以为他们做好准备,或者改变他们的使用,或者配置程序使用旧的行为。
因为是OSS项目,被各个发行版独立打包,可以自动升级,无需用户干预。然后向后不兼容的更改可能会弄乱某人的工作流程(例如第三方脚本)。
目前考虑(和使用)的途径:
- 项目邮件列表
- 项目主页
- 发行说明(第一个警告,然后是公告)
- 维护者的博客
编辑 1:此(向后不兼容)更改将在某些主要版本中发生。
所有更改都是关于添加保护措施(拒绝可能彻底混淆新手用户的命令),或者将默认值更改为更合理的值。
编辑 2:在过渡期间,默认配置(意味着更改为默认拒绝/拒绝)更改为warn,并说明如何关闭警告,这也可以防止默认行为的向后不兼容更改。
但如果它是自动化系统,可能无济于事......
有问题的项目是Git,分布式版本控制系统;
请参阅在gitster 的日志中向用户提供早期警告(Junio C Hamano 博客)
.net - .Net Framework 版本如何处理向后兼容性
我知道 XP 没有附带 .NET Framework 版本,而且我相当肯定 .NET 2.0 附带 Vista。我的问题是,在 XP 上安装 .Net 2.0 是否也会安装对 .Net 1.1 应用程序的支持?此外,vista 1.1 开箱即用兼容。
wcf - WCF 服务向后兼容性检查
我刚刚编写了一个新版本的 WCF Web 服务,我想确保我没有对服务和数据合同进行任何重大更改。
回想我作为 VB6 Com Api 开发人员的日子,我回想起在编译时指定组件的先前发布版本并让编译器检查二进制兼容性是否得到维护是多么容易。
我设想了类似的东西,称为(希望)“合同兼容性”检查。它将使用元数据执行与 VB6 开发环境类似的检查。这可以作为执行实用程序的单独构建步骤来完成。
我准备接受不存在这样的实用程序。如果是这种情况,是否有人对实现这一目标的算法有任何想法?
- 从当前实时服务版本中检索元数据
- 从新服务版本中检索元数据
- 检查服务合同和每个数据合同的兼容性。仅报告重大更改。
第 3 步似乎很复杂,但肯定是可自动化的……
sql-server - MSSQL 2000 和 2005 之间的 SQL 语言差异
我的公司有一个为 SQL Server 2005(以及其他)开发的应用程序,一个潜在的客户正试图在 SQL Server 2000 上安装它。自然,安装失败了。具体来说,它在我们的 CREATE TABLE 语句中出现语法错误而失败。
有没有总结一下这两个数据库的语言差异?
c# - 包含具有向后兼容性的泛型的类的序列化
我试图找出在我的程序中处理序列化的最佳方法。
我想序列化私有字段(所以 XML 序列化器不是选项) 我想序列化像 Bindinglist 这样的泛型类型(SoapSerializer 不是选项) 我还想为能够从我的程序的以前版本反序列化对象提供某种程度的支持。
所以我认为我剩下的就是 BinarySerializer,并实现 ISerializable 接口以应对前向兼容性。
它是否正确?
注意:我必须说我找到了这个项目。但是该项目似乎已经死了,我无法让它工作(文件丢失错误) http://sourceforge.net/project/showfiles.php?group_id=196509
.net - 我正在寻找像 LibCheck 这样的工具来评估同一 SDK 的不同版本
我正在开发一个 SDK。当我发布新版本时,我想生成一份关于 API 差异的报告。这不是代码中的差异。大多数代码预计不会直接使用。公共类/方法是我感兴趣的。此外,我们采用了这样的约定,即命名空间中包含实现的任何内容都不应被 SDK 的客户端使用。因此,我正在寻找不在包含实现的命名空间中的公共接口、类和方法的差异。我想知道在两个版本之间删除、添加和修改了什么。
我从微软找到了一个名为 LibCheck 的工具,它在正确的范围内。我对 LibCheck 有几个问题。LibCheck 无法识别已修改的方法。它报告该方法已被删除和添加。它有时会报告一个方法已被删除和添加,但名称和参数都相同。我不知道在这些情况下它试图告诉我什么。最后,我不关心报告的布局。我想按名称空间以及程序集和类进行细分。
我知道这些报告是 XSLT 转换的结果,我可以让它们看起来像我想要的任何东西。还有其他问题,再加上微软对该工具普遍缺乏支持,让我不得不寻找替代方案。
jquery - 关于jquery向后兼容性的问题
我知道 jquery 有向后兼容文件。
但是,如果您链接到此特定版本:http ://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js您不需要向后兼容文件。我想知道http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js是否也适用于较新的浏览器版本。然后我不需要将我的 jquery 升级到较新的版本,但有网站不再运行良好的风险。