思维导图(转载)
https://www.cnblogs.com/OneFri/p/17055449.html
极限编程(XP)是以人为核心、响应变化、持续交付价值的软件开发方法论
1.核心思想与价值观
XP 建立在 5 个核心价值观 之上:
价值观 | 含义说明 |
---|---|
沟通 | 团队成员之间持续交流,避免信息孤岛 |
简洁 | 只编写当前最简单、满足需求的代码,避免“过度设计” |
反馈 | 快速获得产品、测试、客户的反馈,驱动改进和调整 |
勇气 | 面对问题敢于重构、删代码、改变方向 |
尊重 | 团队成员相互信任与尊重,营造协作氛围 |
2.XP 的核心实践(最经典的 12 项)
分类 | 实践名称 | 简述说明 |
---|---|---|
开发实践 | 测试驱动开发(TDD) | 先写测试再写功能代码,确保高可测试性与健壮性 |
持续集成(CI) | 每次提交代码都自动构建、测试,快速发现问题 | |
结对编程 | 两人一组写代码,提高质量、共享知识 | |
重构 | 经常优化已有代码结构,不改变功能 | |
团队合作 | 全员参与估算 | 所有人参与需求和工作量估算,促进理解和承诺 |
客户常驻 | 让用户代表常驻团队中,随时沟通需求 | |
小步发布 | 每 1~2 周发布一次,可快速验证方向 | |
设计管理 | 简单设计 | 只做当前需求最简单可行的设计,避免提前预判未来 |
公共代码所有权 | 所有人可修改所有代码,提升整体质量和灵活性 | |
过程控制 | 可持续的工作节奏 | 避免加班文化,保持长期稳定的产能 |
编码规范 | 统一代码风格,提升可读性和协作效率 | |
整合性测试 | 自动化回归测试保证系统在每次修改后仍稳定 |
3.XP 对“变化”的态度
XP 强调:
- 软件开发本质上是面对变化、快速响应;
- 拒绝“需求固定”的假设,而是将变化作为常态;
- 因此强调:快速反馈 + 频繁发布 + 小步迭代 = 应对变化的最好方式
其他
1.结对编程:两个程序员共同使用一台电脑进行开发:一人写代码,另一人实时审阅、思考和指导,两人不断轮换角色。
2.持续集成:开发者频繁地(通常是每天多次)将代码集成到主干(Main Branch),并自动化地构建、测试、反馈,以尽早发现和解决集成问题。
3.Scrum:专注于快速迭代交付可用产品,通过固定节奏(通常每 1-4 周)的小周期开发,持续优化产品和团队协作效率。
参考资料:https://blog.csdn.net/a715167986/article/details/128716292?spm=1001.2014.3001.5506