不喜欢的某种开发模式
Nov 18, 2012我这个标题不知所云
其实是我实在不知道该怎么样简单描述这件事
是这样的 举个例子:
Google 拼音输入法 应该是Google中国团队的作品
在下载页面 有版本2的稳定版 和版本3的测试版
像我这样的尝鲜党肯定会使用它最新的版本号
结果前些天发现
2里的很多实用功能3并没有
兼容性也是2比3要好很多
比如在wow里2就可以显示选字框 3不行
比如在win8里2已经完全兼容了 但是3还有好多问题
有人肯定会跳出来说了
谁让你要用测试版 兼容性肯定不好 活该
自己用了测试版还不允许人家有问题
初想是这么个理 但事实不是这样
可以听我分析
在测试版里出现的新的bug或者兼容性问题
往往是因为功能的增加改动代码导致的新问题
并且也应该努力去解决
而Google拼音输入法我遇到的那些问题
开始在2和3里都有 都算是老问题
可是后来在2里解决了 却没有在3里同步解决
即使3的branch里修改代码不同 那总该是要修改的吧
而关于win8的兼容 是因为windows8发布导致的
这时由于版本2用的人多 开发团队就迅速的修改了2的代码
3这个branch按理说也应该晚点修正 可是很长时间了 都没改
其实 我最后发现
这个版本3已经很久都没有更新了
它比2其实要旧好几个月
却一直放在那里 迷惑用户 让用户以为它是最新的
说个正面的例子
Python从2迁移到3 直到现在还在艰难的进行当中
这迁移的困难主要是由于第三方历史库导致的
而python核心的开发组 在这两个版本号的处理上 就高明很多
首先3如果在新版本加了什么功能
过不久如果2可以不困难的加上去 那也就加上去了
而2如果发现了什么bug 团队会第一时间去检查3
基本会同时修复 或者3还修复的更久一些
这才是对一个新版本应有的态度
我其实更支持线性的开发迭代
但是项目大了不免有很多外部原因要分Branch
甚至有时候压根就不准备merge了 比如python
可你既然决定要齐头并进一段时间了
上策当然是同时发展过了适应期让老版本淡出
中策是还没过适应期但是无力维护老版本
于是说长痛不如短痛 不管老版本了 大家都用新的
而我们却经常碰到下策
新版本吊儿郎当的开发 进度和投入资源远不如老版本
最后新版本半死不活的扔在那里 老版本也慢慢死去
相似的例子还有如今很火的移动apps
对于平板和手机的兼容
有的团队选择一个app搞定全部兼容
而有的团队选择分别开发手机版本和HD版本
而这个新浪微博
在安卓上弄了个HD版本的微博
然后就扔在那里半年不管了
而Google Play却又限制平板只能安装平板版的
因为普通版兼容性列表里就没有大屏幕嘛
于是现在安卓平板想用这么常用的功能都那么难
那个安卓版实在是很烂
评价都快掉的一颗星了……
希望所有的做软件的和写文章的
一定慎重挖坑
这是我见过的挖坑不填率最高的两个行业了……