admin 管理员组

文章数量: 894198

你知道我们常说的“向前兼容”和“向后兼容”都是什么意思吗?

背景:
今儿组内随便聊天,说到代码的“向前兼容”和“向后兼容”。开始聊得都很嗨皮,可是越到后来我聊得和他们说的越是大相径庭。真应了那句话了:“你以为你以为的就是你以为的吗?!”。我以为说的“向前兼容”就是向以前的老版本兼容,后“向后兼容”则是为以后代码扩展提前做好铺垫。然而,恰恰相反。

正文:
后来从度娘、某乎哪里才得知:在软件开发行业中的“前/后”是按照英语的习惯来的,并不是按照咱们汉语习惯来的。(计算机都是人家发明的,手动摊手,无可奈何)英语中“向前”(forward)指未来,“向后”(backward)指过去。按照英文意思就好理解多了,分别理解成“前进”、“后退”。切不可像我一样想当然的理解为“以前”、“以后”。

例子:
就拿我们javascript中保留字来说,就是属于“向前兼容”,为未来可能要用到的关键字,进行提前保留。
ECMAScript每次标准的制定,都是“向后兼容”的。当然包括一些框架版本的更新迭代都是“向后兼容”的。(这里有个小小的意外,尤大大的Vue 3将不会支持IE11(注1),我们的Vue 2.x版本还能支持到IE8以上,这次居然没有“向后兼容”,手动doge~)

引用:
注1:RFC关于 Vue 3 的 IE11 支持

本文标签: 你知道我们常说的“向前兼容”和“向后兼容”都是什么意思吗