原创 c和c++的轉換-2 list

  c++ 標準庫內有很帥的容器,比如list,hash等等。需要構造一個字符串列表,只要:     // list #include <list> #include <algorithm> using namespace std; l

原创 作爲口訣來用的“對象健身操”九步

  這一塊小文字,在我的筆記內多時了,近半年來我一直在編碼中體會和驗證它們。 面向對象含含混晦澀,不容易理解,說實話,我現在也沒有看到一本書讓我很快的明白的——總是需要長期的摸索和體會才慢慢的得到精髓。 ---------------

原创 什麼推動軟件開發的進步?

有人說,軟件大牛們都是懶人,因爲懶而發明新的事物,以便讓大家懶得有利,懶得有成果。還有人說是熱情,激情什麼的?聽起來是不是太正面了! 其實,還有一種可能,也許更加令人信服的可能——關鍵在於人心的差異——不管是什麼東西,只要不是自己做的,就

原创 保持對技術的敏感

2010年10月20日 15:38   引子   “民國14年,費孝通到湖南永順考察,當地人問他:‘如今誰坐龍位?’,14年光陰彈指一瞬,龍位看來和山坳上的百姓毫無關係。   某天早晨,我和公司內的一個程序員碰到了一起,我和他隨便談了談項

原创 從oo角度看with的使用

一個同事維護delphi代碼的時候發現原來 的軟件內有很多with。過多的with讓代碼難以調試。 引入with的本意在於節省重複出現的對象名。比如說,如果有這樣的調用: Function foo () begin ObjectA.P

原创 行至水窮處,坐看雲起時——單入單出規則的使用場合

2011年3月16日 11:41    這兩天Code Diff,看到如下的代碼,功能比較簡單,技術判斷兩個HashObject對象是否相等:    private bool Equals(IHashObject data1, IH

原创 分函數,還是放在一起?

在演示passalert函數的抽取的時候,有人提出了這樣的意見:   “我更加喜歡所有和這個功能有關的代碼放到一起。這樣看起來一目瞭然,而且調試的時候不需要跳來跳去的”。   抽取函數後,一個函數等效於一個代碼塊。就是說一個代碼塊

原创 標註函數,而不是標註代碼塊

    我聽過很多關於標註的看法了。 比如jf說,“我發現我們都不太寫標註,我們新來的,看起來比較困難”。那麼,讓你看不懂的真的是因爲沒有標註嗎?在我的經驗中,大部分原因在於:首先是因爲代碼本身不夠清晰,導致需要標註,因此,真正的癥

原创 重新發明和共同創造

推動軟件進步的到底是什麼? 有人說,軟件大牛們都是懶人,因爲懶而發明新的事物,以便讓大家懶得有利,懶得有成果。還有人說是熱情,激情什麼的?聽起來是不是太正面了! 其實,還有一種可能,也許更加令人信服的可能——關鍵在於人心的差異——不管是