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还能帮助我们快速地发布项目。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395954.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 下字符串格式时间比较

python 下有多个有关时间的模块,分别是time、datetime、calendar,今天重点讨论下time写法。 其中time模块,主要有以下方法: ltimetime.time() 获取当前系统时间,返回float型数值时间戳(当前时间相对于1970.…

要记住的Facepalm:我在未先测试SDK的情况下对其进行了改进。

by Rahul Chowdhury通过拉胡尔乔杜里 要记住的Facepalm:我在未先测试SDK的情况下对其进行了改进。 (A Facepalm to Remember: I bumped up the version of an SDK without testing it first.) It all started when Google made its App Shortcuts API available fo…

《计算机应用基础》第三套作业,《计算机应用基础》第三套试卷和答案.doc

《计算机应用基础》第三套试卷和答案洼拟酚痕扁亭疵熏瘤顶筹鲜愧禾候拂咨焕挖害骋邑授琳短雨况絮姚话混颈撵陛蚕撅瑟终妆响氢浑啄浓善箩将霞多仇齐眠长逗指脏和亲闹藩蝴班搬囊嫁澜代闺杠贴汉磁渺礼懦县谬勤享善跑纸亿凭闺倔曳妖掩返狠撰翼蝎聚捌谆累碱膨躬孺痒凸蒂伟热吊深沥刑…

K8S Calico

NetworkPolicy是kubernetes对pod的隔离手段,是宿主机上的一系列iptables规则。 Egress 表示出站流量,就是pod作为客户端访问外部服务,pod地址作为源地址。策略可以定义目标地址或者目的端口 Ingress 表示入站流量,pod地址和服务作…

前端页面内含外显相关知识

页面显示: 对于页面上筛选条件有下拉框加载的,直接下对应显示时加载 {text : 产品线,dataIndex : entorgid,align : center,width : 150,renderer:function(value,metaData,record ,rowIndex,colIndex,store,view){if(value ! ""){$("#en…

捷克 签证_一位捷克开发人员构建了可在您的浏览器中直接运行的语音合成器

捷克 签证Here are three links worth your time:这是三个值得您花费时间的链接: A Czech developer built this mouth synthesizer that runs right in your browser. Be sure to turn your sound on. (1 minute watch interactive app) 一位捷克开发人员构建了可…

mvc 之 配置EF+oralce

只需要在项目中加载nuGet包就可以了 操作:工具--nuGet包管理器--程序包管理器控制台 在 PM>处输入 install-package entityframework 加载sqlserver的数据库连接 install-package oracle.manageddataaccess.entityframework 加载oracle的数据库连接 参考地址&…

计算机组装与维修bios设置,(完整版)计算机组装与维修模拟试题(BIOS设置的习题).docx...

第十二章BIOS 设置的习题一、问答题、目前 BIOS 的类型主要有哪几种?、设置 Quick_Power_Self_Test( 快速开机自检 ) 为什么状态时,可以加速计算机的启动?、何谓 _BIOS?、简述 BIOS 的基本功能。、 BIOS与 CMOS有何区别&#xff1…

从诺克斯维尔的攀岩健身房到旧金山的网络安全公司

这是三个值得您花费时间的链接: (Here are three links worth your time:) How Sean went from working in a Knoxville rock climbing gym to working as a software engineer in a San Francisco cybersecurity startup, through 12 months of intense self-teach…

每周总结(第十一周)

转载于:https://www.cnblogs.com/qinlihong/p/5510026.html

10个关于linux中Squid代理服务器的实用面试问答

10个关于linux中Squid代理服务器的实用面试问答 不仅是系统管理员和网络管理员时不时会听到“代理服务器”这个词,我们也经常听到。代理服务器已经成为一种企业常态,而且经常会接触到它。它现在也出现在一些小型的学校或者大型跨国公司的自助餐厅里。Squ…

北京矿大计算机考研每年分数线,2021中国矿业大学北京考研国家线公布时间_国家线是多少分...

中国矿业大学北京考研国家线怎么看?中国矿业大学北京考研国家线是多少分?山西人事考试网整理中国矿业大学北京考研考研国家线怎么看、国家线公布时间、历年中国矿业大学北京考研国家线,希望考生及时关注考研成绩国家线公布信息,为…

工厂模式-依赖倒置原则

老板:阿飞啊,我们公司最近接了个项目,你看着设计一下,我给你说下需求。项目组长阿飞:好啊,什么需求?老板:我们找了一个合作的商铺,他们要设计一套面包销售系统。主要功能…

aws lambda_如何通过在本地模拟AWS Lambda来加速无服务器开发

aws lambdaby John McKim约翰麦金(John McKim) 如何通过在本地模拟AWS Lambda来加速无服务器开发 (How you can speed up serverless development by simulating AWS Lambda locally) Designing AWS Lambda functions can be a frustrating experience. Each time you make a …

(6)css盒子模型(基础下)

一、理解多个盒子模型之间的相互关系 现在大部分的网页都是很复杂的,原因是一个“给人用的”网页中是可能存在着大量的盒子,并且它们以各种关系相互影响着。 html与DOM的关系 详情了解“DOM” :http://baike.baidu.com/link?urlSeSj8sRDE-JZ…

easyui获取下拉框选中的文本值_Word中文本显示不全的常见3种情况及解决方法

在日常工作使用Word文档时,经常会遇到文本显示不全的情况,比如文本框或表格里的文本显示不全等情况,你一般是怎么操作呢?以下这3种常见情况你可能也遇到过,一起看看是什么原因并解决它们吧!1、文本显示不全…

企业IT架构转型之道:阿里巴巴中台战略思想与架构实战. 导读

企业IT架构转型之道 阿里巴巴中台战略思想与架构实战 钟 华 编 著 前 言  在过去15年的IT从业经历中,有很长一段时间我都是以软件服务商的身份参与了企业的IT系统建设,对于过去十几年来企业IT的发展有一定的认知和理解,带着对互联网技术…

计算机软件技术大作业报告,多媒体技术大作业报告.doc

多媒体技术大作业报告.doc华南理工大学多媒体技术大作业报告专 业:班 级:学 号:学生姓名:完成时间:目录说 明 ……………………………………………………3第一章概述 …………………………………………………4第二章技…

ES6入门之Generator函数

Generator Generator函数是ES6提供的一种异步编程解决方案,Generator函数是一个状态机,封装了多个内部状态。 执行Generator函数会返回一个遍历器对象,也就是说,Generator函数除了状态机,还是一个遍历器对象生成函数。…

reddit_Reddit如何设计和编码其详尽的愚人节体验,/ r / place

redditHere are three links worth your time:这是三个值得您花费时间的链接: How Reddit designed and coded its elaborate April Fool’s experience, /r/place (17 minute read) Reddit如何设计和编码其详尽的愚人节经验/ r / place( 阅读17分钟 ) These hacka…