VS2010已經(jīng)發(fā)布了正式版,在這個(gè)新的工具中,有很多地方可以與XP結(jié)合。 XP(Extreme Programming)是極限編程,是敏捷編程中的一種。
極限編程中的思路是: 計(jì)劃游戲,小版本,隱喻,簡(jiǎn)單設(shè)計(jì),測(cè)試,重構(gòu),結(jié)對(duì)編程,集體所有權(quán),持續(xù)集成,每周工作40小時(shí),現(xiàn)場(chǎng)客戶,編碼標(biāo)準(zhǔn)。
在極限編程中,強(qiáng)調(diào)的是人,強(qiáng)調(diào)的是靈活。然而極限編程中在VSTS中能有怎樣的結(jié)合呢?在這里,我只想說說我淺薄的想法。
在極限編程中的這些思路中,并不是所有的思路點(diǎn)都能在VSTS中得以實(shí)現(xiàn)的,這里,我只列舉出來我覺的相關(guān)的,如有不正確之處,請(qǐng)大家指正。
VS提供了許多版本,架構(gòu)師的,開發(fā)人員的,測(cè)試人員的,還有數(shù)據(jù)庫設(shè)計(jì)人員的,當(dāng)然,在VS中,沒有極限編程團(tuán)隊(duì)中的客戶成員(也可以說成業(yè)務(wù)分析師)的版本,我們知道,客戶往往是不懂開發(fā)技術(shù)的,所以用不上相對(duì)應(yīng)的開發(fā)工具,但在TFS中,可以支持word,Excel,客戶更多標(biāo)準(zhǔn)化的東西可以用office工具來完成。當(dāng)然,這里只是說能把一些量化的用word或Excel 來記錄,而不是說團(tuán)隊(duì)成員之間不交流,交流的結(jié)果總是需要記錄或量化的。所以用VS相應(yīng)的工具并不影響極限編程提倡的人與人的交互,反而把大家聚到一個(gè)統(tǒng)一的開發(fā)平臺(tái)上進(jìn)行協(xié)作。還有一點(diǎn)是如果使用者覺的TFS2010提供的過程模板(是基于雜MSF5.0的)太復(fù)雜,完全可以定制自己的過程模板來適應(yīng)極限開發(fā),這是一個(gè)開發(fā)的平臺(tái)。還有TFS2010的安裝大大減化,也為在VS2010中做敏捷編程提供了很大便利。
在計(jì)劃游戲中的結(jié)果,我們可以把討論的結(jié)果記錄在一些word文檔中,通過VSTS去控制、分發(fā)、保存。當(dāng)然在計(jì)劃游戲中,每個(gè)角色都在積累著自己的資源。業(yè)務(wù)分析人員更多的是描述,模仿業(yè)務(wù)的真實(shí)場(chǎng)景,架構(gòu)人員就要從場(chǎng)景中抽象出要實(shí)現(xiàn)業(yè)務(wù)的技術(shù)及實(shí)現(xiàn)的框架,開發(fā)人員思考實(shí)現(xiàn)的方法,測(cè)試人員思考測(cè)試的種種用例,這些在可能會(huì)從自己的角度提出很多問題,大家討論,分析,解決然后流程再向前推進(jìn)。
從技術(shù)的角度考慮小版本,VSTS也能做的很好,因?yàn)閂STS在版本控制上已經(jīng)非常完善,只要各個(gè)開發(fā)與測(cè)試到位,很快會(huì)通過Team Build來構(gòu)建一個(gè)新版本的,當(dāng)然,這里的小版本是迭代交付的一種版本,把一個(gè)完整的大項(xiàng)目,通過分化依次分批把功能交付客戶。
測(cè)試,特別是單元測(cè)試,在VS中提供了非常強(qiáng)大的功能,可以自動(dòng)生成針對(duì)方法的單元測(cè)試,并且還可以批量測(cè)試用例。
集體所有權(quán)和持續(xù)集成分對(duì)應(yīng)VSTS中的源代碼管理和Team Build。在XP中提到的集體所有權(quán)是讓大家都能看到和有權(quán)修改不是自己寫的代碼,當(dāng)然在VSTS中如果權(quán)限放開的話,是允許這樣做的。XP提倡的是所有人都了解整個(gè)系統(tǒng),所以每個(gè)人員都能檢查出系統(tǒng)的問題,所以都有權(quán)修改代碼,但這種修改也會(huì)有問題,當(dāng)后者理解有偏差時(shí),就會(huì)出現(xiàn)修改錯(cuò)誤,VSTS可以通過權(quán)限來做到集體所有權(quán),VSTS2010有了自己的“控制面版”,可以方便的來設(shè)置。同時(shí),VSTS中可以存儲(chǔ)用戶的改動(dòng)及舊版源代碼,可以很容易恢復(fù)原有代碼,當(dāng)然這些修改與恢復(fù)都建立在一定的溝通機(jī)制上。集體所有權(quán)意味著我們都改動(dòng)別人寫的代碼,在VS2010中,提供了一個(gè)“導(dǎo)航”功能,能方便的導(dǎo)般到文件,類,方法等你一時(shí)找不到的元素。持續(xù)集成可以對(duì)應(yīng)到VSTS中的Team Build,因?yàn)檫@樣,可以方便快捷的完成一個(gè)階段版本的生成。當(dāng)然,要求當(dāng)前迭代中的所有的開發(fā)測(cè)試工作項(xiàng)完成,才能生成一個(gè)新的版本,否則只是一次Build。
編碼的標(biāo)準(zhǔn),在VS中可以很好的做到,本身微軟的類庫提供了一系列標(biāo)準(zhǔn),并且是通過代碼分析來約定的,當(dāng)然這個(gè)標(biāo)準(zhǔn)如果與自己的標(biāo)準(zhǔn)不符合,可以寫代碼來生成自己的編碼規(guī)則,可以在生成代碼時(shí)就提示開發(fā)人員。關(guān)于這點(diǎn)可參照我別一篇博客《用自定義代碼分析來標(biāo)準(zhǔn)開發(fā)偏聽則暗的開發(fā)》 。
當(dāng)然上面說的全是XP與VSTS結(jié)合的使用,VSTS不是為XP定做的開發(fā)工具,所以不可以100%的適合,我覺得可以靈活的運(yùn)用。還有,XP強(qiáng)調(diào)的是人,人的主動(dòng)性在整個(gè)過程中發(fā)揮重要作用,但人有自身的缺點(diǎn),比如存儲(chǔ)性差,這點(diǎn)可以用工具補(bǔ)上,還有人之間的組織是感性的,可延遲的,用工具會(huì)標(biāo)準(zhǔn)化人的一些行為等等。我個(gè)人理解,在小的開發(fā)團(tuán)隊(duì)中,如果能更好的協(xié)調(diào)人與工具,將給團(tuán)隊(duì)帶來更高的開發(fā)效率。
原文:http://yuelei.blog.51cto.com/202879/309031
本文鏈接:http://www.95time.cn/tech/program/2010/7570.asp
出處:岳雷的微軟網(wǎng)絡(luò)課堂
責(zé)任編輯:bluehearts
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|