代码改变世界

12 个 XP 实践

2008-04-16 08:55  敏捷的水  阅读(578)  评论(0编辑  收藏  举报

 

  1. 有计划的开发:通过结合使用优先级"故事"和技术估算,确定下一版本的功能
  2. 小版本:以小的增量版本经常向客户发布软件
  3. 隐喻:隐喻是一个简单、共享的"故事"或描述,说明系统如何工作
  4. 简单设计:通过保持代码简单从而保证设计简单。不断的在代码中寻找复杂点并且立刻进行移除
  5. 测试驱动开发:用户编写测试内容以对"故事"进行测试。程序员编写测试内容来发现代码中的任何问题。在编写代码前先编写测试内容
  6. 重构:这是一项简化技术,用来移除代码中的重复内容和复杂之处
  7. 结对编程:团队中的两个成员使用同一台计算机开发所有的代码。一个人编写代码或者驱动,另一个人同时审查代码的正确性和可理解性
  8. 集体代码所有权:任何人都拥有所有的代码。这就意味这每个人都可以在任何时候变更任何代码
  9. 持续集成:每天多次创建和集成系统,只要任何实现任务完成就要进行
  10. 每周 40 个小时:程序员在疲劳时无法保证最高效率。连续两周加班是绝对不允许的
  11. 现场客户:一名真实的客户全时工作于开发环境中,帮助定义系统、编写测试内容并回答问题
  12. 编码标准:程序员采用一致的编码标准证