- 1
- 0
- 约5.46千字
- 约 79页
- 2019-09-06 发布于广东
- 举报
提倡更改 最佳策略是在实际解决最重要的问题的前提下保留最多选项的那一个,在交付最需要的东西上保留选择余地。 优质工作 XP活动——XP软件开发的基石 编码 测试 倾听 设计 编码 作为一种轻量级方法论,XP明确放弃了系统建档和分析以外的任何外在活动。分析保留为一种相当简单,但是在和客户的日常沟通中发生的持续活动。文档则明确不予鼓励,所以编码成为XP最主要的活动。 测试 为了确保编写好的代码能实践工作,XP提倡编写大量测试来检查代码是否正确。 倾听 XP编程人员倾听客户和其他编程人员的需求和意图。 设计 从日常的编码中返回来进行一些一般性设计,小的设计成为XP编程人员日常事务的一部分。 XP的实践——项目成员用户成功执行XP活动的技术 1.现场客户(On-site Customer) 2.计划游戏(Planning Game) 3.系统隐喻(System Metaphor) 4.简单设计(Simple Design) 5.代码集体所有(Collective Code Ownership) 6.结对编程(Pair Programming) 7.测试驱动(Test-driven) 8.小型发布(Small Releases) 9.重构(Refactoring) 10.持续集成(Continuous integration) 11.每周40小时工作制(40-hour Weeks) 12.代码规范(Coding Standards) XP层次结构 过程 团队实践 编程 现场客户、测试、计划游戏、小型发布 简单设计、测试、重构、编码标准 代码集体所有、持续集成、隐喻、编码标准、每周40小时工作制、结对编程、小型发布 1 现场客户 始终在开发团队中有一位客户。 现场客户的工作: 回答问题 编写验收测试 运行验收测试 指导迭代 接受版本 2 计划游戏 以业务优先级和技术估计为基础,决定下一版本发布的范围。 3 系统隐喻 在XP中,隐喻是一种概念框架并提供名称的描述系统,类似于其他方法中的体系结构(或体系结构基准)。 共识 共享的术语空间 例子:Windows风格的界面、网上购物站点的购物车 4 简单设计 系统应设计得尽可能简单。 聚沙成塔,集腋成裘 5 代码集体所有 整个团队拥有所有代码。任何人都可以更改他们需要更改的部分。没有唯一对代码有所有权的人。 题外话一 编程的乐趣(F P. Brooks) 创造的快乐 开发对他人有用的东西 整体过程的魅力 持续学习的快乐 来自于易于驾驭的介质上工作 编程的快乐在于它不仅满足了我们内心深处进行创造的渴望,而且还唤醒了每个人内心的情感。 题外话二 编程的苦恼(F P. Brooks) 来自追求完美 来自由他人设定目标、供给资源、提供信息。 陷入琐碎的重复性劳动 持续学习的快乐 无用功 这,就是编程,一个许多人痛苦挣扎的焦油坑以及一种乐趣和苦恼共存的创造性活动。 6 结对编程 结对编程是让两个人共同设计和开发代码的实践。结对者是全职合作者,轮流执行键入和监视;这提供了持续的设计和代码评审。 不是两个人做一个人的事情。 积极影响 经济性 满意度 提高设计质量:分享不同的先验知识、理解和角色 持续复查 问题解决更快:集思广益和配对接力 学习:耳濡目染 团队建设和沟通 有利于人员和项目管理 卡车问题 一个项目组集体外出,不幸被卡车撞上。有多少人受伤使项目不得不停止? 最坏的情况是一个! 结对编程工作区 一般工作区 学到的经验 程序员和设计人员\协调人结对编程更有效。 键盘输入效率! 自愿结对编程 我们行业的主要问题实质上更侧重于社会学而不是科学技术。 ——《人件》 9 重构 重构是XP的一个重要组成部分。所谓重构是指在不改变代码外在行为的前提下对代码做出的修改,以改进代码的内部结构。重构是一种有纪律的、经过训练的、有条不紊的代码整理方法,可以将整理过程中不小心引入错误的可能性降到最低。从本质上说,重构就是在代码写好之后改进它的设计。 重构的节奏:重新推理、小的更改、重新推理、小的更改、重新推理… 7 测试驱动 结对和简单设计 常见问题和解答 测试 编码 重构 集成或者丢弃 8 小型发布 XP推荐小而频繁的有意义发布。 10 持续集成 持续集成的思想是任何时候只有一项任务完成,就集成新代码,构造系统并测试。持续集成是每日构建\每晚构建的一种极限形式,是XP的重要基础。 每日构建\每晚构建是将一个软件项目的所有最新代码取出,从头开始编译、链接,用安装软件包将链接好的程序安装好,运行安装后的软件,使用测试工具对主要功能进行测试,发现错误并报告错误的完整过程。 让开发人员在第一时间了解到软件的错误,并
原创力文档

文档评论(0)