极限编程的内核实践

1,338 views

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,338
On SlideShare
0
From Embeds
0
Number of Embeds
219
Actions
Shares
0
Downloads
34
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Kent Beck等人在进行90年代进行C3项目时提出的方法论。
    极限编程和传统方法学的本质不同在于它更强调可适应性而不是可预测性。XP的支持者认为软件需求的不断变化是很自然的现象,是软件项目开发中不可避免的、也是应该欣然接受的现象 XP为管理人员和开发人员开出了一剂指导日常实践的良方;这个实践意味着接受并鼓励某些特别的有价值的方法。支持者相信,这些在传统的软件工程中看来是“极端的”实践,将会使开发过程比传统方法更加好的响应用户需求,因此更加敏捷,更好的构建出高质量软件。
    Coding,
    TDD
    CI
    Testing,
    Unit test
    UAT
    Designing,
    Simply Design
    SPIKE
    Managing,
    Open Workspace
    Planning
    Story
  • 一个广为人知的方式是从个人,团队,组织来理解XP的实践,
    内环:个人
    中环:团队
    外环:组织
  • 开发人员是正确性驱动,需要更快的反馈,原有的测试方法是将开发和测试过程分离,开发人员难以获取反馈
    开发人员需要了解覆盖率的多少,利用Main函数、自行手测方法不系统。
    开发人员需要能够反复执行的测试,手工过程不够精确,即麻烦又可能因为粗心引入错误。
  • 市场的变化要求IT部门具备快速响应能力,而现实是交付周期长,更多的需求不能等到下个版本,造成加班,粗制滥造,质量低下。
    要想快速的交付,必须能够快速的完成回归测试,快速的验证新的功能是否完备。
  • TDD的概念: 没有失败的用例就不编写代码
    TDD三个节奏: 红,绿,蓝
  • 演示
  • 演示结对
  • 结对编程的必要性,促进知识流动,减少车祸事件
  • 两种风格
    乒乓: 一个人编写测试,一个人编写实现,适用于水平差不多的程序员。
    键盘和鼠标风格: 一个人控制鼠标,一个人控制键盘,是一种基于教练模式的结对方式。
  • 重构:不改变软件外部行为的条件下改变软件的内部结构。
    重构的前提是:必须有测试。
    重构之前的例子:
    提取方法。
    提取常量。
  • 简单设计两层含义:
    × 无重复,最简化的设计。
    × 团队中每个人都能了解的设计
    如何检查设计是否简单? 结对编程。
    如果发现不够简单呢? 重构。
    要想抽构必须有测试,那么如何确保有测试? 测试驱动。
  • 极限编程的内核实践

    1. 1. iamhukai.com
    2. 2. 限 程的极 编 内核 践实
    3. 3. • 面积 Area = 3 × radius× radius • 半径为 1 ,面时 积为 3 • 半径为 10 ,面时 积为 300 • 半径为 -1 ,抛出 常时 异 算 的面计 圆 积
    4. 4. • 周长 Perimeter = 2 × 3 × radius • 半径为 1 ,周时 长为 6 • 半径为 5 ,周时 长为 30 • 半径为 -1 ,抛出 常时 异 算 的周计 圆 长
    5. 5. Refactoring
    6. 6. Xi’an OpenSpace
    7. 7. 12 月 19 日 唐延路南段 G 座 802

    ×