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.pswp.cn/news/395954.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/395954.shtml
英文地址,請注明出處:http://en.pswp.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…