Maven实战. 1.3Maven与极限编程

简介:

1.3Maven与极限编程

极限编程(XP)是近些年在软件行业红得发紫的敏捷开发方法,它强调拥抱变化。该软件开发方法的创始人Kent Beck提出了XP所追求的价值、实施原则和推荐实践。下面看一下Maven是如何适应XP的。

首先看一下Maven如何帮助XP团队实现一些核心价值:

 简单。Maven暴露了一组一致、简洁的操作接口,能帮助团队成员从原来的高度自定义的、复杂的构建系统中解脱出来,使用Maven现有的成熟的、稳定的组件也能简化构建系统的复杂度。

 交流与反馈。与版本控制系统结合后,所有人都能执行最新的构建并快速得到反馈。此外,自动生成的项目报告也能帮助成员了解项目的状态,促进团队的交流。

此外,Maven更能无缝地支持或者融入到一些主要的XP实践中:

 测试驱动开发(TDD)。TDD强调测试先行,所有产品都应该由测试用例覆盖。而测试是Maven生命周期的最重要的组成部分之一,并且Maven有现成的成熟插件支持业界流行的测试框架,如JUnit和TestNG。

 十分钟构建。十分钟构建强调我们能够随时快速地从源码构建出最终的产品。这正是Maven所擅长的,只需要一些配置,之后用一条简单的命令就能让Maven帮你清理、编译、测试、打包、部署,然后得到最终的产品。

 持续集成(CI)。CI强调项目以很短的周期(如15分钟)集成最新的代码。实际上,CI的前提是源码管理系统和构建系统。目前业界流行的CI服务器如Hudson和CruiseControl都能很好地和Maven进行集成。也就是说,使用Maven后,持续集成会变得更加方便。

 富有信息的工作区。 这条实践强调开发者能够快速方便地了解到项目的最新状态。当然,Maven并不会帮你把测试覆盖率报告贴到墙上,也不会在你的工作台上放个鸭子告诉你构建失败了。不过使用Maven发布的项目报告站点,并配置你需要的项目报告,如测试覆盖率报告,都能帮你把信息推送到开发者眼前。

上述这些实践并非只在XP中适用。事实上,除了其他敏捷开发方法如SCRUM之外,几乎任何软件开发方法都能借鉴这些实践。也就是说,Maven几乎能够很好地支持任何软件开发方法。

例如,在传统的瀑布模型开发中,项目依次要经历需求开发、分析、设计、编码、测试和集成发布阶段。从设计和编码阶段开始,就可以使用Maven来建立项目的构建系统。在设计阶段,也完全可以针对设计开发测试用例,然后再编写代码来满足这些测试用例。然而,有了自动化构建系统,我们可以节省很多手动的测试时间。此外,尽早地使用构建系统集成团队的代码,对项目也是百利而无一害。最后,Maven还能帮助我们快速地发布项目。

相关文章
|
21天前
|
XML Java Shell
【深入浅出Maven开发实战】「入门教程系列」带你零基础学习和开发使用Maven开发工具实战指南(实战技术总结)(一)
【深入浅出Maven开发实战】「入门教程系列」带你零基础学习和开发使用Maven开发工具实战指南(实战技术总结)
69 1
|
7月前
|
Java 应用服务中间件 数据库连接
Maven入门案例实战
Maven入门案例实战
77 0
|
11月前
|
JavaScript Java 数据库连接
实战SSM_O2O商铺_03项目结构规划及Maven配置
实战SSM_O2O商铺_03项目结构规划及Maven配置
57 0
|
Java Maven
maven实战总结,工作中常见操作 下
maven实战总结,工作中常见操作 下
93 0
|
Java 持续交付 Maven
maven实战总结,工作中常见操作 中
maven实战总结,工作中常见操作 中
123 0
maven实战总结,工作中常见操作   中
|
Oracle 前端开发 Java
maven实战总结,工作中常见操作 上
maven实战总结,工作中常见操作 上
74 0
maven实战总结,工作中常见操作   上
|
Java fastjson 数据库连接
实战,读懂maven <scope>
实战,读懂maven <scope>
|
XML 开发框架 Java
【Maven实战技巧】「插件使用专题」Maven-Archetype插件创建自定义maven项目骨架
【Maven实战技巧】「插件使用专题」Maven-Archetype插件创建自定义maven项目骨架
557 0
【Maven实战技巧】「插件使用专题」Maven-Archetype插件创建自定义maven项目骨架
|
XML 存储 安全
【Maven实战技巧】「配置文件专题」史上最全面的Maven-Setting文件的配置拆解说明指南!
【Maven实战技巧】「配置文件专题」史上最全面的Maven-Setting文件的配置拆解说明指南!
139 0
|
网络协议 安全 Java
【CI/CD技术专题】「Docker实战系列」使用Maven插件构建Docker镜像的方法
【CI/CD技术专题】「Docker实战系列」使用Maven插件构建Docker镜像的方法
191 0
【CI/CD技术专题】「Docker实战系列」使用Maven插件构建Docker镜像的方法