关于程序向下兼容的教训

其实好久都没有动手写点什么的习惯了。今天的工作给了自己一次教训,所以为了避免再次走向一个同样的坑,还是写下来给自己提个醒。

这种问题就好像是前人给你留下的坑,但是你想填上这个坑,但是却发现有些人已经习惯了那个地方有个坑。而且把这种错误当做是正确的情况在处理。那么你填上了有些人就觉得你错了。其实从我们的角度上来看,不是我们的问题,因为我们认为这个bug已经修复,但是站在用户的角度,我们确实都是错了,因为用户没有任何的必要为我们以前的过失买单。

微软公司是最注重向下兼容的公司,所以一般看来,windows新版上任何可以运行低级版本的程序。但是也存在抛弃向下兼容的例子,例如python3等,但是从用户的角度出发,这确实是不好的。因为以前写的在平台上运行的代码切换到新的环境之后就完全不能工作了,必须要对脚本做相应的修改才能使用新平台。

而平台是唯一的,它的升级不会存在多个不同的版本,也就是必须要时刻注意向下兼容性,即使是跳跃性的升级,也必须要考虑到以前的各种错误的或者是不友好的问题。力求对于用户的使用可以透明化。