原创 "華爾街三原則"(轉)

"華爾街三原則"(轉) 第一原則:不要花自己的錢辦事。  有人說了:那我找那個傻瓜去要錢去?在這個經濟第一的世界裏,社會生活的主要表現方式就是資源的產生、轉移和轉化。人人都有資源,什麼機構也都有資源,僅僅也就是數量、質量和表現方式的不同。

原创 C++代碼的組織

C++代碼的組織黃國強 2010-2-23 軍隊編制: 一個 師包括五到六個團; 一個 團配有三個營; 一個 營配有四個連左右; 一個 連由三個排組成; 一個 排由三個班組成; 一個 班大約由十名戰士; 同樣我們的代碼也需要編制,我是這樣

原创 軟件開發:依賴關係的三條原則

  黃國強 2004年09月16日    類與類之間依賴度越低,可複用的機會越大。而且修改起來很方便,便於重構。近來看到一本書上提到以下三條原則,感覺

原创 軟件項目中的功能風險矩陣

軟件項目中的功能風險矩陣黃國強 2011-9-9 仿照美國總統艾森豪威爾的“時間管理優先矩陣”,我畫了一個項目功能風險矩陣圖。 軟件開發中,我們最先要做的就是必要而且有風險的事情; [時間管理優先矩陣] 時間管理——永遠做重要不緊急的事情

原创 大象vs螞蟻

大象vs螞蟻黃國強 2004-12-22     前兩天,去參加了微軟的軟件開發高級管理培訓班。有一點感想,與大家分享。微軟是軟件行業的巨無霸、航空母艦。我所在的公司比較起來,可能算是一個螞蟻。所以,一隻螞蟻要象大象學習,教條的照搬可能會

原创 關於公司的雜談

關於公司的雜談黃國強 2004年09月22日    一個國家擁有憲法和法律。憲法宣傳的是觀念和思想,法律是貫徹憲法的工具。法律的一個很重要的目標就是完善可操作性。爲了達到這個目標往往再加上實施細則。    一個公司的企業文化相當於國家的憲

原创 一次成功的重構實踐4 - 萬物皆對象

一次成功的重構實踐4 - 萬物皆對象 黃國強 2019/3/25         前文說到所有IO卡可以抽象成三個函數。如下是重構前的代碼,打開三色燈的紅燈。 // 頭文件 #define RED_LIGHT 0x00,0x00

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

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

原创 一次成功的重構實踐2 - 架構設計的目的

一次成功的重構實踐2 - 架構設計的目的 黃國強 2019/1/27         華爲老總任正非在1月9日在杭州研究所業務彙報會上的講話:表示在軟件工程能力提升上,我們最缺乏的是對宏觀架構有清醒認識的人才。建立公司是一個架構;建立公司

原创 一次成功的重構實踐

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

原创 集中決策和分散決策(3)

集中決策和分散決策(3) 黃國強 2011-12-31         上兩篇文章討論了集中決策和分散決策兩種程序的寫法。兩種寫法在項目中都有廣泛的運用。一般來說,C的項目中大多采用集中決策的寫法,而C++的項目用分散決策的寫法多些。但這

原创 領域層能否引用其他基礎庫中的UI控件?

領域層能否引用其他基礎庫中的UI控件?黃國強 2011-11-28 首先說結論,結論是可以引用。理由如下: 1 從實用性角度分析:        看一個例子,比如界面上有一個CListBox控件,我們需要填充它,分別是兩種寫法:   1)

原创 集中決策和分散決策(1)

集中決策和分散決策(1)黃國強 2011-12-20 何爲集中決策?先看一段代碼: class P1 { public:     int m_nVal; }; class P2 { public:     int m_nVal; }; i

原创 windows 多線程編程防止死鎖的幾點經驗 (轉)

windows 多線程編程防止死鎖的幾點經驗 (轉) 1) 不要在線程函數體內操作MFC控件,不要再線程裏面調用UpdateData函數更新用戶界面,而應該儘量採用發送消息的方式,在主線程的消息響應函數中操作控件;

原创 遠程調試(轉)

*假設調試機IP 192.168.0.182   遠程機IP 192.168.0.161*遠程機爲調試機分配權限,使調試機可以使用遠程桌面登陸到遠程機器上(這樣調試起來方便)。調試機上安裝visual studio .net 2003共享