XP的十二项实践.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
XP的十二项实践

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 極限編程(2/5) 整體而言,XP是一套輕量級的軟體開發方法論;刪除多數「重裝」流程所要求、不必要的文件或產出,認為那些只會造成人員的分心,並拖慢軟體開發速度。 面對多變的軟體開發環境,強調「適應」勝於「預測」;強調適時、適當的(Just In Time, JIT)計畫與設計,勝於事前詳盡的規劃與安排。 認為軟體開發是人與人的合作,強調人本導向勝於流程導向;成功的軟體開發應強化人的長處、避免短處,突顯人在軟體開發中的角色。 極限編程(3/5) XP的核心價值主要有以下四項: 溝通:許多軟體開發問題,往往是由於開發者與顧客之間溝通不順暢所造成的。 簡單:儘量保持程式的簡單化,只要它能工作即可。不要製造多餘的編碼(或設計)「庫存」;這樣一來,當改變來臨時,所付出的代價最小。 回饋:透過快速開發與交付,儘快獲得用戶的回饋,使得開發人員能夠確認自己的成果,符合使用者的需要。 勇氣:這是最重要的核心價值。XP強調要「擁抱變化」,包含從用戶來的回饋與設計的重整;要勇於對自己的程式進行修改,丟掉壞的程式碼。 極限編程(4/5) XP的理論體系與實踐(如圖14.7) 四項基本原則是: 快速回饋:愈快回饋就愈有用。 以簡單為假設:拒絕複雜的事前設計,只在需要時才將複雜度加上去。 漸進式開發:不要相信一次就能夠成功地完成一個大的開發。 擁抱變化:面對改變時,應該接受而非反對。 圖14.7 XP的理論體系 極限編程(5/5) 次要的指導原則包括: 教導學習。 少量的初期投資。 為勝利而遊戲(play to win)。 具體實驗。 開放、誠實的溝通。 順從人的本性,而不是去對抗它。 接受責任。 視情況調整。 輕裝旅行。 誠實地度量(measurement)。 XP的十二項實踐(1/17) XP的十二項實踐如表14.3所示,其意涵分述於後。 表14.4 XP的十二項實踐 XP的十二項實踐(2/17) 測試驅動(test-driven) 測試驅動是XP的核心思想,強調「先測試,再編碼」;亦即未有程式,先有測試。在編碼開始之前,先將測試案例寫好,而後進行編碼,直至通過所有的測試案例。 測試先行的好處: 知道哪些地方可能出錯後再來開發程式,可以讓思考更周延,避免後來許多不必要的除錯與改正的工夫。 可用來檢驗簡單設計是否落實。任何程式功能(或片段)如果沒有被某個測試用到,就是多餘、不必要的。 可給予程式開發一個清楚的圖像或定義。 XP的十二項實踐(3/17) 搭檔編程(pair programming) 搭檔編程的開發方法,是兩個程式設計者共用一台電腦、一個鍵盤與滑鼠,所有的程式都由兩人共同創作。搭檔兩人之間的關係是動態的,其中個人的角色可以分別是策略者、執行者、驅動者或夥伴關係。 搭檔編程的優點如下: 更有紀律,避免惰性。 更好的程式碼:持續地編碼審查,產生更好的設計、更少的臭蟲。 搭檔的開發流程更有彈性,能夠應付臨時的打岔,一人處理而另一人繼續工作。 XP的十二項實踐(4/17) 增進士氣:搭檔開發比個人單打獨鬥更有趣。 更有信心去增加或修改系統,促使軟體測試與程式重構(refactoring)的實踐。 增進集體擁有意識:輪換搭檔可提升程式碼為集體所有的共識。 教育訓練:輪換搭檔可將有用的知識散播給整個團隊。 團隊向心力:搭檔可讓人更快熟識彼此。 可確保XP的編碼標準、原則與實踐的落實。 XP的十二項實踐(5/17) 簡單設計(simple design) XP認為設計不是一次性、事前可以完成的工作,因為需求經常變化,為了減少變更所帶來的損失,所以根據最小投資原則,只進行最少、必要的系統設計。 所謂簡單的程式應滿足以下原則: 通過所有測試。 無重複贅碼。 能夠清晰地陳述開發者的意向。 只包含最少量的程式類別與方法。 簡單設計帶來許多優點,因為簡單所以易於瞭解,因為容易瞭解故容易修改。 XP的十二項實踐(6/17) 程式重構(program refactoring) 程式重構是指在不改變系統行為的前提下,重新調整、優化系統內部的結構,以減少複雜度、消除冗餘、增加靈活性或提高系統的性能。 XP重視重構,並認為應該經常進行,但也不會為了重構而重構。只有當系統有需要時,重構才會發生。通常兩個最可能進行重構的時間點,一個是某項系統性能的實現前,一個是該性能實現後。 XP的十二項實踐(7/17) 系統隱喻( system metaphor) XP利用隱喻來取代事先詳細的架構設計。隱喻的角色類似於(系統)架構的說明,但是缺乏精確的細節。 隱喻給予團隊一個共同的圖像,描述既存的系統如何運作,以及未

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档