极限编程(XP)12个最佳实践
- 现场客户 ( On-site Customer )
- 代码规范 ( Code Standards )
- 每周40小时工作制 ( 40-hour Week )
- 计划博弈 ( Planning Game ):要求结合项目进展和技术情况,确定下一阶段要开发与发布的系统范围。
- 系统隐喻 ( System Metaphor ):通过隐喻来描述系统如何运作、新的功能以何种方式加入到系统。它通常包含了一些可以参照和比较的类和设计模式。
- 简单设计 ( Simple Design )
- 测试驱动 ( Test-driven )
- 代码重构 ( Refactoring )代码重构是指在不改变系统行为的前提下,重新调整、优化系统的内部结构以减少复杂性、消除冗余、增加灵活性和提高性能。
- 成对编程 ( Pair Programming )
- XP 认为开发小组的每个成员都有更改代码的权利,所有的人对于全部代码负责。
- 持续集成 ( Continuous Integration )
提倡在一天中集成系统多次,而且随着需求的改变,要不断的进行回归测试。 - 小型发布 ( Small Release ):强调在非常短的周期内以递增的方式发布新版本,从而可以很容易地估计每个迭代周期的进度,便于控制工作量和风险;同时,也可以及时处理用户的反馈。
开-闭原则要求一个软件实体应当对扩展开放,对修改关闭。也就是说,我们在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,换句话说就是,应当可以在不必修改源代码的情况下改变这个模块的行为。
里氏代换原则要求子类型必须能够替换它们的基类型,所以在里氏代换原则中,任何基类对象可以出现的地方,子类对象也一定可以出现。
依赖倒转原则是:要依赖于抽象,不要依赖于具体。也就是常说的要针对接口编程,不要针对实现编程。