大头
标签云
3G
AWS
Android
BeautifulSoup
Boto
CC
DONT_MAKE_ME_THINK
DTV
DVB-T
Haskell
ISDBT
JUnit
LUdecomposition
Linux内核
MIPS
MiniBlog
Perl
PyInstaller
S3
SI
STM
Subtitle
UED
VideoDemystified
VideoResolution
audio
c/c++
cassandra
colorspace
colorspace VideoDemystified
compile
debug
dvb
eLocutor
format
fortran
gui
h.264
icon
interlaced
java
joke
kernel
linux
matlab
mono
ota
php
project
pyExcelerator
python
resource
ruby
spec
stb_design
stereo
svn
twitter
unicode
warning
书债
书托
交互设计
会议管理
信号量
出差
出版
勘误
反思
哲学
团购
团队
图书
图灵新知
培训
妈妈
娱乐
并发
弗洛伊德
微博
抑郁症
投诉
捉虫日记
改变心理学的40项研究
敏捷
敏捷开发的艺术
数学
数据库
新闻
森田心理疗法实践
森田正马
津巴多普通心理学
测试
烂书
用户体验
界面
瞬间之美
神经症
神经质症
科普
管理
精神病
精神病学
编译
编辑
翻译
药物治疗
设计
证实偏差
质量
逻辑
配置管理
重构
高良武久
分类
日历
十一月 | ||||||
---|---|---|---|---|---|---|
日 | 一 | 二 | 三 | 四 | 五 | 六 |
27 | 28 | 29 | 30 | 31 | 1 | 2 |
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
评论
留言
微博
热门文章
随机文章
豆瓣上谁关注这里
链接
搜索栏
RSS
功能
页面
计数器
481619
访客统计
存档
维护从客户那儿返回的代码
代码的结构。
从底向上有A,B,C三层,每层有一些模块,上层调用下层模块。不同的客户,C的差异很大,C层有很多并列的分支,A和B
与客户的合作有不同的方式,有的是不给客户源代码,任何变动的需求都由公司完成;有的是给C层的代码,部分变动的需求客户自己解决;有的是给B层和C层的源代码,几乎全由客户自己完成变更。
有一个客户,合作方式是第三种。客户拿到代码后在B层和C层做了一些改动,改动部分模块以增加功能,或者是改变部分行为方式。
一年以后,主干树上的A层和B层经过多次升级,整个工程升级到新的版本,该客户希望能同步,但是要求保持其自主改动。
矛盾是:该客户在B层做的改动不可能合并到主干树上。而另建分支增加了与主干树B层的更新保持同步的合并动作,增加测试工作量,增加错误可能性。
怎么办?
我们只能是为其另建分支,而同步代码的维护工作长期占用了一个工程师的几乎全部工作时间。
事实证明,替客户维护已经发布给他的源代码是一件非常不可取的事情。
应该告诉他们,如果希望得到源代码发布,那我们将不再对这份代码做维护。