敏捷開發確實是乙個非常不錯的開發模式,但是它有太多難以實現的地方。首先就是對開發人員的要求太高。幾乎要求每個專案的開發人員都要了解專案架構,熟知各種設計模式原則,有豐富編碼經驗。這一點很難做到。
對於我這菜鳥來說,看敏捷開發最大的收穫就是知道了軟體是怎樣腐化的,在這裡面我看到了自己前一段時間程式設計的影子。原來雖然知道自己寫的**質量是不高的,但是並不能從客觀上把握到底**寫的不符合標準,這本書裡詳細介紹了軟體腐化的過程和特點。我們為什麼說有部分**的軟體質量是不高的呢?雖然好像看起來實現了現在的功能,但是這不部分**不能應對迎面而來的需求變更。需求變更是乙個專案裡永恆不變的,編寫的**要有適應性和便於修改性。這就是高手和新手之間的區別。我們要致力於寫出便於理解,便於修改的**。
軟體會腐化的特徵主要包括:僵化性:設計難以改變,脆弱性:設計易於遭受破壞,頑固性:設計難以重用,粘滯性:難以做正確的事情,不必要的複雜性:過分設計,不必要的重複:濫用滑鼠進行複製、貼上,晦澀性:混亂的表達。要在寫**的時候時刻關注自己的**是不是脫離了這些腐化性,時刻保持**的高質量。
我們採用什麼樣的辦法能夠保證**保持乾淨整潔的設計,而且是高質量的呢?編寫的**要符合以下這些原則:
單一職責原則srp,
開發封閉原則ocp,
黎克特制替換原則lsp,
依賴倒置原則dip——
高層模組不應該依賴於低層模組。二者都應該依賴於抽象,
抽象不應該依賴於細節。細節應該依賴於抽象,
介面隔離原則isp——
不應該強迫客戶程式依賴並未使用的方法。當然編碼中還有很多程式設計細節需要去注意,這些原則是基本必須要遵守的。但是我們使用設計的目的是為了讓**更加易讀便於理解,更加便於擴充套件,切記為了設計而設計。
關於敏捷開發的思考
剛接觸敏捷乙個月左右,看各種設計模式 tdd scrum xp,但是當別人問到我什麼是敏捷開發的時候,還是不知道怎麼去回答,所以就想著,是時候理一下這些天學習的關於敏捷的所有,在心裡搭乙個框架。在 高效程式設計師的45個習慣 敏捷開發修煉之道 中這樣寫道 敏捷開發就是在高度協作的環境中,不斷地利用反...
敏捷開發方法的一點思考
2006年05月11日 13 44 00 author 袁琳 msn testwin sohu.com 1 敏捷開發方法與傳統重型開發方法相比較,是一種更加主動的模式。那麼在專案管理過程中,調動每一位專案參與者主動的創造 適應變化,主動的發起 參與 交流和協作就顯得猶為重要。對於專案管理來說,就需要...
敏捷開發 什麼是敏捷開發?敏捷開發掃盲(詳解)
敏捷開發 scrum 是一種軟體開發的流程,強調快速反應 快速迭代 價值驅動。scrum的英文意思是橄欖球運動的乙個專業術語,表示 爭球 的動作 運用該流程,你就能看到你團隊高效的工作。敏捷開發的特點就是下面4句話 個體與互動 勝過 過程與工具 可以工作的軟體 勝過 面面俱到的文擋 客戶協作 勝過 ...