五问《移山之道》! By Yadli

1. 集中式的代码控制机制真的适合Agile Dev吗?

撇开易用性,连接速度(估计这个是NT Domain凭据交换的原因,不能赖TFS Server)的事情不说,我想问一个更抽象的问题——像VSTS这样的集中管理代码的机制对于灵活的小团队是不是真的有意义。举个栗子,设某骚博团队有5个人,人员配置为一个PM,两个Thread,其中两两 Pair TDD。两个Pair分别在负责两个完全不同的分支,其中一个在稳步前进,另一个因为实验性稍重而产生了大量实验性的代码。有一天PM耐不住了,说你们把代码Merge一下吧,于是两个Thread开始沟通。Experimental Thread说,啊,你更新到XXX或YYY版本即可(两个版本号相去甚远,功能也不尽相同),结果另一个Thread不小心按错,此时出现了剧情分支——

  i) 某Thread不小心提交了Head,把实验分支盖了

  ii)某Thread回滚到实验分支,结果把自己的东西盖了

  iii)PM心想我们弄点高级的吧,Fork出一个New Branch来,结果由于VSTS的分支机制过于复杂最终吐血身亡(叫你天天用hg,给惯坏了吧~)

三款选项,总有一款能丢翻你。

我最大的感想是,当两个Thread开始合并的时候,希望他们从两个Branch很Easy地合并到一起,分支可以有一个像样的名字,例如VoiceModule-Experimental之类的,那么别人就能用类似vsts.exe pull VoiceModule-Experimental Head merge这样的东西来搞定一切。

 

2.你的RP是由你的程序质量决定的 ——真的吗?

每个人写程序都会犯2,所谓Zero-Bug的程序,我觉得是不存在的。这句话,按我的理解,意思是“一个程序员由于不用心,写错了程序,最后倒霉了”。但是按照我的理解,事实情况应该是“一个程序员非常用心,但是倒霉了,所以写错了程序”

过分追求质量控制会丧失敏捷性。Y Combinator的Startup培训教育大家说,有BUG没关系,尽快拿出来给用户用,Feature最重要。请问这个问题怎么解。

 

3.萝卜和白菜,一锅炖了大丈夫?

反复读了萝卜和白菜的故事,一个热情,一个冷静。意味深长。但是说实话,我觉得似乎两种资源只有配合起来的时候才能发挥最大的效能,利用萝卜的冲劲,利用白菜的反馈分析能力,所以为什么要“偏爱”呢?为什么不讲一些如何炖一锅大锅菜的故事呢? :-)

 

4.命名规范的事情——能不能不要在每个名字前面加一个前缀……

像Numerical的东西我还可以理解,有精度,字长以及等等的问题,但是例如像一个类,他本身是多态的,那我如何来给他起一个固定的前缀?呃,叫它的基类吧……不过忽然有一天,某人兽性大发说要Refactor一下,钛合金F2轻轻一按,牛逼风范,然后所有的变量名都2了……敢问为什么要在现代型编程语言中使用这种复古的思想?难道是WINAPI的历史遗风?

5.ZBB?好高级……

我不明白,Zero Bug Build到底是说我们需要拿无限的钱来维持无限跳票,还是我们根本就不做测试所以没有发现Bug。

    - 如果是指Fedora的话,我相信是前者(不过也不能说F记是跳票之王,否则公爵会一炮毁灭你)

    - 如果是指微软的话,我觉得是后者,因为微软从来不听取用户反馈的Bug,不是吗?

转载于:https://www.cnblogs.com/southseven/archive/2011/10/12/2208783.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值