了解敏捷开发
Posted noneplus
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了了解敏捷开发相关的知识,希望对你有一定的参考价值。
什么是敏捷开发?
敏捷开发以用户的需求变化为核心,采用迭代、循序渐进的方法进行软件开发。
敏捷开发模式的分类
- XP极限编程(eXtreme Programming)
- SCRUM
- 水晶方法
- 动态系统开发方法
- 精益开发
其中XP和SCRUM最为流行。
极限编程
极限编程是一种轻量,高效,弹性的软件开发方式。
四大核心价值观
沟通:
完善的流程和详细的文档用于团队协作虽然能够保证一致性,但效率往往不高。
极限编程提倡通过高效的口头沟通来保证整个团队的高效协作。(并不是舍弃流程和文档,只是更加侧重口头上的沟通)
简单:
==今天够用就行。
那么系统的扩展性怎么实现?
极限编程提倡重构。(对开发人员要求较高)
重构建立在软件开发中无法避免出现BUG的前提下,与其最后修改整体的BUG,不如在一次次的重构迭代中反复扩展优化。
反馈
通过提前编写测试代码,经常性的反馈代码的问题和进展。
在开发过程中,通过持续集成,使得每一次的发布都可以成为可执行版本。
勇气
应用极限编程,每时每刻都在应对变化。这要求开发者时刻面对快速开发,重新开发。
变化在软件开发中是不可避免的,极限编程的思想就是将变化扼杀在摇篮中,避免最后形成一个无法重构的庞大工程。
13个最佳实践
计划游戏
快速制定一个概要的计划,随着项目细节的不断更新和迭代,再完善这份计划。
主要分为三个步骤:客户编写故事;开发人员进行按照优先级进行分解和排序;确定产品迭代周期(2-3周)
小型发布
持续集成,但每一个版本的发布都需要具备足够的商业价值。
隐喻
寻求共识
发明共享词汇,增强团队默契
简单设计
设计不应该一次性完成。因为变化不可能被所有的预见。所有设计一次也是无法完成的。
扎克伯格:不变的事物只有变化
通过所有的测试程序
没有任何重复的代码
保持定期重构的思想
单一职责(一个类只做一件事)
测试先行
先写测试代码,再写代码。(开始时效率低,但能解决许多隐形问题)
重构
重构是一种对代码改进而不影响功能实现的技术,重构的目的是降低变化引起的风险,使得代码优化更加容易。
重构场景:
- 实现功能之前:改变现有代码结构,使得新的特性更加容易实现
- 实现功能之后:检查一下刚刚写完的代码,考虑是否能够简化
理论上来说,重构思想和开闭原则是相违背的,但如果一开始没有超强的设计分析和预测变化的能力,用来设计的时间不如花在重构上。【设计终究只能浮于纸上,而实践才能更加真实的发现问题】
结对编程
code+review
集体代码所有制
编码规范统一
持续集成
在确保系统运行的单元测试通过之后,每天尽可能的多做代码集成。
每周工作40小时
保证休息,提高效率。
现场客户
主要为了沟通
编码标准
定义变量名等开发规范。【确保沟通交流】
配合是关键
1+1>2
以上是关于了解敏捷开发的主要内容,如果未能解决你的问题,请参考以下文章