原创 C++ Follow Me(1): 你面向對象了嗎?

C++ Follow Me(1): 你面向對象了嗎? 黃國強 2006-7-12     傳統的C的編程方式是以函數爲中心的編程方式,換句話,整個程序就是函數的集合。有人要問,這有什麼問題嗎?當然沒有問題。在面向對象技術出現之前,用過程式

原创 一次成功的重構實踐3 - 抽象的藝術

一次成功的重構實踐3 - 抽象的藝術 黃國強 2019/2/7        抽象能力的培養非常重要。所謂抽象即抓住事物的本質規律,透過現象看本質。一個程序員工作多年,寫代碼的技術都會掌握。但是如果想做架構,缺乏抽象能力是不行的。    

原创 一次成功的重構實踐1 - 概述

一次成功的重構實踐1 -  概述 黃國強 2019/1/20 很長時間沒寫blog了,原因很簡單,工作基本上遇不到問題,因而思考少了,自然也沒有寫東西的動力。 這次年會之所以拿到了公司特殊貢獻獎,是因爲去年將原先的軟件架構重寫,使公司軟件

原创 C++ Follow Me(3): 類的產生(下):從職責中提取

C++ Follow Me(3): 類的產生(下):從職責中提取 黃國強 2006-12-21     在C中,軟件可以認爲是函數的集合。我們一般是從功能中來提取函數並將之模塊化。與C不同的是,C++程序是由一系列類組成。所以按功能來獲得

原创 C++ Follow Me(2): 類的產生(上):從封裝函數開始

C++ Follow Me(2): 類的產生(上):從封裝函數開始 黃國強 2006-11-29     C++ Follow Me(1)中對面向對象的必要性作了一些敘述,如果C程序員應該怎樣才能成長爲一個C++程序員呢?我這裏就介紹一個

原创 C++ Follow Me(4): 封裝

C++ Follow Me(4): 封裝 黃國強 2007-3-30     C++與C最大的不同,就在於C++可以將數據和操作數據的函數放在一起,變成一個獨立的物體。即,類(class)。典型的好處就是調用一個函數不用傳很多參數了。  

原创 軟件開發:眼前與未來

軟件開發:眼前與未來    黃國強    2004年09月16日                                      職業棋手對棋的死活非常敏銳,不管是對手的還是自己的棋。去掉對方做活的根據,在圍棋上叫做搜根。有

原创 重構的時機

重構的時機  黃國強     2004年09月16日                             最近,看到一個談到重構的比喻,非常貼切。 文中將重構比方成飯後的洗碗,應該每次吃完順手做掉。而不要等到殘渣已經幹了的時候。不

原创 軟件開發:類與角色

軟件開發:類與角色                           黃國強 2004年09月16日               我們往往從角色的角度考慮給一個類劃分出多個接口。這樣就能達到接口隔離的效果。一般基類的命名都是CXXXBa

原创 重構和增加功能

重構和增加功能  黃國強 2004年09月16日                                      今天有一位同事問到一些開發的問題,我認爲比較典型,故寫上一段短文,希望能給大家一點啓發。    我們遇到軟件增加功

原创 慎重使用Get/Set成員函數(三)Get函數替代辦法-讓類說話

慎重使用Get/Set成員函數(三)Get函數替代辦法-讓類說話黃國強 2011-8-25上文中的類CSample的Get函數取消後,那麼我們從外部將不能獲得它內部m_nVal的值。舉個例子,未取消前的代碼是這樣的:int nTmp =

原创 軟件項目成功的祕訣(英)

(朋友翻譯的我的一篇博文:http://blog.csdn.net/acloudhuang/article/details/5793503)1.      only small projects;2.      re in big pro

原创 慎重使用Get/Set成員函數(二)Set函數和其他修改函數的替代辦法

慎重使用Get/Set成員函數(二)Set函數和其他修改函數的替代辦法黃國強 2011-7-19前文說到,儘量避免使用Get和Set這樣的函數,下面介紹的是替代辦法。第一步,把Set中的函數參數都放到構造函數中。第二步,把所有其他的修改函

原创 最高境界的軟件

最高境界的軟件 黃國強 2004-12-8    何謂最高境界的軟件,每個人心中都有着不同的答案。我心目中最高境界的軟件是一個有機體,而非無機體。有機體的主要特徵就是不停的演變,演變一旦停止,這個物種離死亡不遠了。    傳統的建築是典型

原创 隱喻:層與層之間的控制關係與倒車雷達

隱喻:層與層之間的控制關係與倒車雷達黃國強 2006-9-27      前一陣子到蘇州參加IC China 2006,在回來的路上我突然想起了這個題目。      事情是這樣的,在一個路口我們車在等紅綠燈的時候過了線,旁邊還站了個警察。