當前位置:編程學習大全網 - 編程語言 - 編程高手箴言怎麽樣

編程高手箴言怎麽樣

上個星期讀了超級解霸的作者梁肇新的這本書。這本書行文親切自然,國人寫的書顯然比國外的圖書的中文版更具有“親和性”。當然了,也許也會有很多人對文中的壹些觀點有不同的意見,但是不同的人壹定會得到不同的啟發,絕對值得壹讀。帶著自己的思考和結合自身編程的實踐經驗去閱讀這本書也許可以得到更多的收獲。這裏談談我從中得到的壹點啟發。 曾經參與壹個項目開發經過多次失敗,最後才發現對於實際應用軟件項目,最適合的方法就是類似“實現核心-->增強功能-->測試”這樣壹個過程。強烈贊同書中的觀點: “我們不可能壹開始就把所有的細節都考慮清楚,通常,開始只需要壹個基本的框架,也就是核心的核心。如果這個核心都實現不了,即使再進行下去,整個項目也都是多余的,只是浪費時間而已。所以,壹開始就要解決最核心的問題。當最核心的問題解決之後,就可以進行第二階段。我們把軟件開發分為設計規劃階段,功能設計階段,測試階段。所有的產品都可以劃分為這三個階段。事實上,如果最核心部分實現了,那麽依賴於此核心,再實現增強壹點功能就是第二階段。第二階段完成後,就可以進行第三階段。” 還有例如書中談到的關於界面和接口的“箴言”: “界面是界面部分,接口是獨立的壹塊。接口部分就是程序的實現內核,通常先用Console方法直接地實現程序,這樣更便於分離界面和內核。如果開始就用Windows的界面去實現內核部分,這樣就可能會把界面和內核混在壹起,無法分開。所以,壹開始做程序時,就不要考慮界面是什麽樣子。” “接口的目的就是把外部條件和內部條件分離開來。外部條件由別的程序提供,別人可以用。做接口最好的方法,就是直接用Console程序先實現程序的主體,然後從中提煉出接口來。這樣做提煉會簡單明了。如果用可視界面先實現了程序的功能後再去提煉,就會比較困難,因為這樣就會把界面和功能實現混在壹起,很難區分。” 看完後深有體會,我在做壹些應用軟件項目時總是把界面和功能實現混在壹起,的確會造成維護,修改,甚至是閱讀的很大困難,程序結構也會不夠簡單明了。 我總是太過局限於“軟件工程的思維框架”中,常常在抽象化的時候,總是想要把所有的事情都想全了,常常做壹個巨大無比的對象,這本書對此也提出壹些讓人有所反思的觀點,例如: “做對象化時還有壹條準則,既對不同的應用去設計程序,而不是針對壹種所謂的虛擬模型去設計壹個對象。所謂的抽象化,就是想著將來有可能會用的某個功能。這樣設計出的軟件又龐大又耗時,運行也很慢。這就是殺雞取卵(教科書會教妳這種方法)。” “殺雞取卵就是指設計的軟件提供了很多的功能,其實用到的功能只是那麽壹丁點。可能做了壹個巨大無比的對象,但是只用到對象的很小的壹些功能而已。因為做抽象化的時候,要把所有的事情都想全了,但是這是不現實的,實際上也是沒有必要的,且是浪費的。如果凡是思考問題都是為了將來的大而全,這樣出錯的可能性也會成倍的提高。壹般來說,代碼越大,出錯的地方也就越大,如果代碼越小,出錯的地方也就越小。將功能模塊做成API函數與做出對象就不壹樣,做成壹個對象時,該模塊出錯的機會就多壹些,因為對象還有壹個動態的過程,但做成壹個函數時,調用函數就可以了,模塊出錯的機會就會比較小。所以,程序越簡單,越不容易出錯。” 書中的“程序主幹和分支”的概念,也令人很有啟發: “核心就是整個系統中最重要,最基礎,最簡單的部分。首先要把程序的核心提煉出來,在給它添加附加的部分,它就能成為壹個完整的軟件。主幹是最核心的核心,其後在添加的其他的部分就是枝葉了。” “編程就是要保證核心的核心不出錯,那剩下的枝葉都是壹層壹層地構建出來的。” 讀《編程高手箴言》,也是自己編程思想,習慣等等的壹個“自審”的過程。妳壹定可以找到適合自己需要的“箴言”,用它去提高自己吧。 ------ ------ /2009/10/blog-post_25.html

  • 上一篇:大學生談寫作機器作出了詩歌,我們的路也沒有走完
  • 下一篇:DNA超速離心
  • copyright 2024編程學習大全網