!@極限程式設計
1.客戶作為團隊成員
2.使用者素材
為了進行項目計劃,必須要知道和項目需求有關的内容,但是無需知道得太多。
看到新系統的問世是關注需求的最好時刻。
3.短傳遞周期
每兩周傳遞一次可以工作的軟體。每次疊代結束時,會給涉衆示範疊代生成的系統,以得到他們的回報。
4.驗收測試
5.結對程式設計
所有産品代碼都是由結對的程式猿使用同一台電腦共同完成的。結對人員的一位控制鍵盤并輸入代碼,另一位觀察輸入的代碼并尋找代碼中的錯誤和可以改進的地方。
(這,有點難,就自己寫完改吧。或者寫完了,讓别人來評價)
6.持續內建
svn的使用
7.可持續的開發速度
8.開放的工作空間
程式猿們處在适于激烈讨論的位置上。這一點我們公司做的比較好。
9.簡單的設計
僅僅關注與計劃在本次疊代中要完成的使用者素材(需求)。不去考慮那些未來的使用者素材。通過一次次的疊代來優化。
10.極限程式設計不能容忍重複的代碼,無論哪裡發現,都要消滅它們。(抽象)
11.重構
代碼往往會腐化,我們添加一個又一個特性,處理一個又一個錯誤,代碼的結構會逐漸退化。通過重構來扭轉這種退化。
在每次細微改造之後,我們運作單元測試來確定改造沒有造成任何破壞。
重構是一個持續進行的過程。