Go-ForIt 记事:eXtreme DragonSlayers 专题报告,第 2 部分:极端编程:虚假的简单革新
2009-11-06 00:00:00 来源:WEB开发网通过更改代码来更改系统设计是可行的。 重组就是通过更改现有的代码来简单地添加附加的功能。但它不是一种添加代码的投机方法,因为它可能是一种好的想法。除去重复的代码,改进代码结构、或加强设计都会是进行更改的好基础。
有人不是说过三个臭皮匠顶个诸葛亮吗?XP 最具争议的概念是 成对编程思想。这种概念是所有的产品代码都是由两个人看着同一台机器,只用一个键盘和一个鼠标写的。这是管理者的生产恶梦!但成对编程的确很有用。一个人考虑如何用最好的方式实现一个方法而另一个人从战略角度考虑:这种方法行得通吗?其它还有什么测试案例?我们如何简化代码?
如果两个人变得对输出负责,那么 集体所有权当然会变成标准。任何程序员,如果看到有为代码的任何部分增加价值,都能够 ― 不,是被强迫、被要求 ― 为代码增加价值。每个程序员都对整个系统负责。并非每个人对每一部分都一样理解得很好,但每个人对每一部分都有一定的了解。我们实现了集体加个人的思想!
由于每个人都参与,每几个小时或至少每天都要执行一次 连续的集成和测试。目前正在集成他们最近的代码变化的那两个人变成了显然要负责修正失败的测试的一批人。测试必须百分之百运行 ― 成功率没有减少的余地。
但虽然所有的测试都必须运行,高效率的规划仍集中在 每周 40 小时工作制上。工作人员必须是精神饱满且富有创意的、仔细且自信的。连续许多周每周工作 60 个小时会导致粗心和错误。持续加班可能是严重问题的征兆。某一周有时加加班是可以的。 但是,当第二个紧张的加班周开始时,就要找潜在的问题。
极端编程还使用了另一个新颖的思想 ― 现场客户。以前客户会很快清楚地说出自己的要求,可现在现场客户变成了实现小组的一员。这个小组成员变成了响应问题、解决争端和设置小规模优先级的无价之宝。但现场客户必须是真实的。他们必须是理解整个系统的人和有可能实际使用这个系统的候选人。
- ››Godaddy域名解析使用DNSPOD方法
- ››GOV.CN域名解析修改
- ››Google搜索引擎的奥秘
- ››Google测试搜索结果页面右侧内容更丰富的信息栏
- ››Google Dart精粹:应用构建,快照和隔离体
- ››google的代码审查
- ››google analytics清晰追踪爬虫的爬行信息
- ››Google+中文用户在两千万Google+大军中是少数派
- ››Google AdWords最昂贵点击成本的20种关键词分类
- ››Google运作经理Bryan Power给出的GOOGLE求职意见
- ››Google用户体验的十大设计原则
- ››Google Analytics(分析)能为网站带来什么
更多精彩
赞助商链接