複用- build for last (轉)

worldblog發表於2008-01-22
複用- build for last (轉)[@more@]

by Zhang Hui

去年有一本書,英文名叫build for last,中文名應該是"基業長青"
這句話反映到上就是"複用"
雖然最初人們的理想"軟體IC"看來是很難實現了,但是,"複用"的思想還是在我們的生活中時時處處體現著.

普遍的形式是copy+paste,然後修修改改.高檔一點的形式等基於二進位制的複用.具體到我們個人,如果我們寫程式碼的目標不是"能轉就行",那麼我們應該瞄準"複用",基於這個目標,我們思考軟體的寫法會有差異.

如果我們希望,自己的code能被別人以copy+paste的形式複用,那麼至少因該清晰,簡潔,有適當的註解.

如果我們希望自己的code能別人以類庫的形式複用,那麼應該保持介面的清晰,功能完整,並且各個介面測試充分.最好有相應的sample code.

至於各種各樣的基於二進位制上的複用,如下的small & sh的工具理念和Net的想法,都需要具體的平臺支援,已經超出個人所能干預的範圍,這裡就不說了

練武的人常說境界,也一樣.
層次一:會用C++等OO語言編出面相的軟體
層次二:能寫出封裝嚴謹,介面完善的類庫,這是一個人說"我掌握了面相物件思想"的基本條件
層次三:理解Frame Work,能解析流行的Frame Work, 最好能寫出MFC Lite和VCL Lite.候捷,3721的CEO據說都能做到這個層次.普通的人,能努力做到層次三就很不錯了.
層次四:當然是設計Frame Work了. MFC, VCL, 以及Emacs的作者無疑都是具有這方面功力的人
更高的層次我目前還看不到,就不造次了.

只為了寫出"能轉"的,那麼你只是以寫程式謀生

能主動去寫可以複用的軟體,那麼你有更高的精神追求.

如果說一個物的生命價值在於它所能惠及的範圍和時間,那麼,程式設計師,如果你珍惜自己的職業生涯的話,就請不斷追求更高的"複用"層次吧.

=======================================
版權所有 copyright 張輝
本文可原封不動的複製和自由地再發行,但在複製和再發行的複製中必須
原封不動地含有這段版權宣告。
http://forestsong.blogone.net


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-998130/,如需轉載,請註明出處,否則將追究法律責任。

相關文章