完美軟件開發:方法與邏輯

發表于:2014-02-12來源:酷勤網作者:不詳點擊數: 標簽:開發
前言:對軟件開發的一次另類思考 在武俠小說中,常會把絕世武功分為兩個部分:招式和心法。招式得其形,而心法傳其神。從這個角度看,這本書是即講招式也講心法的書。招式繁雜,暫且不提;心法卻可以概括。

  前言:對軟件開發的一次另類思考

  在武俠小說中,常會把絕世武功分為兩個部分:招式和心法。招式得其形,而心法傳其神。從這個角度看,這本書是即講招式也講心法的書。招式繁雜,暫且不提;心法卻可以概括。

  如果非要用三句話來概括本書中所提心法的全部,那么他們是(順序不可顛倒,有因果關系):

  在尺度中潛在的已經包含本質;尺度的發展過程只在于將它所包含的潛在的東西實現出來。 --黑格爾,《小邏輯》

  人心惟危,道心惟微,惟精惟一,允執厥中。 --《尚書》橫盡虛空,山河大地,一無可恃,而可恃唯我;豎盡久劫,前古后今,一無可據,而可據唯目前。---楊昌濟

  但這三句話都過于精妙,一般來講很難把他們和管理、流程、估算、開發模型、需求開發、設計編碼聯合起來。本書做的正是這樣一種嘗試:在把軟件作為一個整體進行考察的同時,把精妙抽象的東西和具體的東西結合起來。 把軟件作為一個整體考察是因為管理、流程、設計編碼等都是影響最終成效的砝碼,單純某一個維度上(比如流程)效能最佳不等于整體效能最佳。 把精妙抽象和具體相結合則是因為雖然眾象紛繁,但總有些規則凌駕于現象之上,不把握這些規則必然陷入雜多之中,進而明于微而昧于巨。反之,精妙的東西又只有通過具體的手段才能實現自身,并無法單獨而存在。恰如下棋時每一步都機關算盡,但總是脫不開既定規則,只有有限的結局(或輸、或贏、或和),而既定規則之力量又只能實現于每一步之中。

  作為結果,我們可以講:

  這書只信邏輯和事實。雖參照諸多素材(敏捷、CMMI、OO、設計模式等)但主要依賴于獨立思考才最終塑成體態??v然錯漏難免,但書中所言皆是自主反思所得,雖常有反主流之觀點,用心想來卻不一定是無稽之談。這書直指本質。雖然有的地方略顯艱深晦澀,但實是因為無法簡化,絕非毫無價值,更非故弄玄虛。同時,為避免偏頗,本書主要使用演繹法,基于以下四個預設前提推導各種結論,并用事實進行佐證。

  軟件是一種固化的思維

  意識指導行動

  項目所能耗費的資源是有限的

  重復做同樣的工作會降低效率

  這書是培養帥才的書。如果想成為一方悍將(比如:C++高手,Android高手),那這書是不太適合的;但如果想鳥瞰全局,運籌帷幄,帶領團隊攻城略地,那這書是很有參考價值的。

  這書一定程度上可以終止某些爭議。軟件開發這個行業之中過度相信經驗主義,但事實證明效果并不好。幾十年下來依然異論相攪,紛爭不斷,比如:是做架構設計,還是測試驅動;是敏捷開發,還是CMMI等。本書一定程度上可以包容這些矛盾,恰如黑格爾的辯證法可以包容康德的二律背反。

  這書是一個開始而非結束。限于作者的眼界、能力、時間等,這書無法終結所提及的所有問題。希望能有志同道合者一同來繼續這個題目,也希望能收到各種批評的建議來不斷自我提高。

  注:本迷你書書節選了成書的部分章節,如果有需要的讀者可以購買全本。

原文轉自:http://www.kuqin.com/shuoit/20131123/336474.html

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97