大头
Table_bottom

标签云
Table_bottom

分类
Table_bottom

日历
十一月
272829303112
3456789
10111213141516
17181920212223
24252627282930
Table_bottom

评论
Table_bottom

留言
Table_bottom

微博
Table_bottom

热门文章
Table_bottom

随机文章
Table_bottom

豆瓣上谁关注这里
Table_bottom

链接
Table_bottom

搜索栏
Table_bottom

RSS
RSS Link
Table_bottom

功能
Table_bottom

页面
Table_bottom

计数器
481619
Table_bottom

访客统计
Table_bottom

存档
Table_bottom

维护从客户那儿返回的代码

loveisbug posted @ 2008年12月06日 02:30 in 工作 with tags 配置管理 反思 , 2408 阅读

代码的结构。

从底向上有A,B,C三层,每层有一些模块,上层调用下层模块。不同的客户,C的差异很大,C层有很多并列的分支,A和B

与客户的合作有不同的方式,有的是不给客户源代码,任何变动的需求都由公司完成;有的是给C层的代码,部分变动的需求客户自己解决;有的是给B层和C层的源代码,几乎全由客户自己完成变更。

有一个客户,合作方式是第三种。客户拿到代码后在B层和C层做了一些改动,改动部分模块以增加功能,或者是改变部分行为方式。

一年以后,主干树上的A层和B层经过多次升级,整个工程升级到新的版本,该客户希望能同步,但是要求保持其自主改动。

矛盾是:该客户在B层做的改动不可能合并到主干树上。而另建分支增加了与主干树B层的更新保持同步的合并动作,增加测试工作量,增加错误可能性。

怎么办?

我们只能是为其另建分支,而同步代码的维护工作长期占用了一个工程师的几乎全部工作时间。

事实证明,替客户维护已经发布给他的源代码是一件非常不可取的事情。

应该告诉他们,如果希望得到源代码发布,那我们将不再对这份代码做维护。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter