不喜欢的某种开发模式
我这个标题不知所云 其实是我实在不知道该怎么样简单描述这件事 是这样的 举个例子: 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 可你既然决定要齐头并进一段时间了 ...