原创 編程規範

1變量的命名規則 作用域 + 匈牙利命名規則 + 駝峯命名規則 + 設計意圖 1.1作用域 全局變量: g_  類成員變量: m_ 局部變量: 無   1.2匈牙利命名前綴(常用) arr 數組 b 布爾型(bool) c 字符(char

原创 項目上的一些總結

一、 在會議開始前一天,將討論的文檔、主題郵件發送參與者。         重要:將會議討論的結果、結論、再議的點反饋給會議參與者。   二、 項目過程中大框架設計的分享(人月神話的外科手術隊伍)。將設計的思想、方向、子系統的劃分、子系統

原创 《人月神話》-摘要一

二看《人月神話》,摘錄一些理解的句子,算是閱讀的總結吧。 1)要成爲系統構建,程序必須按照一定要求來來編制。輸入輸出在語法和語義上與精確定義的接口一致。      精確定義的接口:符合支持實際的 應用情景。      輸入輸出:很明確,

原创 對一些壞代碼的總結、批判

今天就工作過程中遇見的爛代碼、壞代碼做一些總結。 公司代碼一: bool CBusSystem::UpdataBus(BUS_INFO* bus) { m_BusMapLock->lock(); CBusInfo* tmp = Ge

原创 基礎技術一:MFC 線程對象封裝

class CThreadObj { public: CThreadObj(); virtual ~CThreadObj(); /** *@brief 啓動線程接口 */ void StartThread();

原创 visual studio 字節對齊 pack應用

32位的電腦內存一般都是4 bytes對齊。 struct _ONE_BYTE_STRUCT{ char m_byte; }; struct _ONE_BYTE_STRUCT 結構體對象佔用內存 4byte; visual studio

原创 調試基礎:函數 _CrtSetBreakAlloc()使用blog

函數 _CrtSetBreakAlloc(long lBreakAlloc)。 函數說明 MSDN 鏈接:https://msdn.microsoft.com/en-us/library/4wth1ha5.aspx   在分配塊號 lBr

原创 工具:SVN 管理軟件版本的一些心得

從工作至今,一直使用 SVN管理軟件版本。其中碰到的一些問題和坑,分享一下。 存在的現象, 1)提交版本的說明一般是簡短的一句話,例:修復bug,增加某某功能。      究竟修改了什麼bug,增加了什麼功能 2)模塊完成後,提交移植模

原创 MFC 基礎:靜態加載DLL ,main()、main全局變量、dllMain()、dllMain全局變量的一些說明

  現今的程序在大部分情況下,都或多或少引用了一些功能庫。因此瞭解動態庫DLL的加載和初始化,有利於避免一些依賴問題的出現。    動態庫的加載有 動態加載 和靜態加載兩種方式。現僅對靜態加載的方式進行一些跟蹤,來得出一些順序上的結果

原创 基礎技術二:CRITICAL_SECTION 創建自動鎖

class CMyLocker { public: CMyLocker(); ~CMyLocker(); /** @brief enter critical section */ void Enter(); /** @brie

原创 配置 release 版本調試狀態的

在windows 平臺開發中,碰到了一種情況:debug 版本測試case 沒有問題,但是發佈測試的版本卻出現bug。 原因 1,release 版本的變量值不會賦初值,但是debug版本有時候有初值 2,release 版本去掉了調試信

原创 關於 _cplusplus 的一些說明

編譯器在編譯過程會對一些函數,變量重命名:加上一些字符和符號。這種重命名的過程在編譯器內部是可逆的,錯誤提示的代碼爲逆過程,即恢復命名。 因爲存在這種重命名的過程,c++ 函數在提供給 c 函數使用的過程會出現一些問題。例如找不到相應的函

原创 visual studio隨機數問題

項目過程中遇到需要使用隨機數。於是研究了一下visual studio 隨機數的機制。 可以收納成公共方法的接口。 val 在區間【m,n): (rand()%(n - m+1) )   + m srand()設置隨機數的種子 ran