1 首先,了解自己。這樣才能知道,哪些是與機器打交道的人是可以做到的,而哪些是不能做的
2 知識結構中,一定要對計算機這個"二進制編碼系統"有所了解,所以為什么好多C/C++大師人物,推薦學習匯編和現代計算機體系結構
??? 因為,雖說現代的優化編譯器很好,但是從另一個角度來說,我們所做的所有編碼任務最終要被映射到計算機硬件(這個經過"預編碼的二進制系統",而且硬件本身也有缺陷)環境上,所以這樣有助于了解程序到底做了什么事,有助于寫出便于調試和優化的代碼。
3 C++語言各個特性對設計產生的影響
4 數據結構、算法的熟悉,這是基本功
5 確定目標,人員的,與時間表,盡可能早的讓市場人員參與進來,所以建立一些個release point and demo
6 讓項目相關人員一起討論,統一口頭詞匯,一些行業背景概念,建立技術規范說明書(不宜晦澀難懂),統一技術詞匯,要有個大家都能接受的代碼規范說明,和命名規則,以及一些必要的原則,盡可能多的在這個階段吧每一項都化為白紙黑字。
還有,最重要的是工作內容的量化評估系統!
7?模塊劃分時,考慮參與人員的數量和任務分配,如何使他們有利于分配到自己每一天的任務表中。考慮與代碼管理系統的整合關系
8?良好接口所擁有的特征審查表: (你會發覺,只要當你不斷調整你的借口定義來滿足以下四項中的三項時,代碼重用性很好,因為這是個符合人性的定義,便于記憶!)
??? a 功能的正交分解
??? b 最小化的接口
??? c 最明確的函數調用語義
??? d 最適合的出錯檢查機制

9 實現接口時,同時寫一些用戶代碼,以此檢查功能正確性和用戶端代碼的編程范型。由此,推動良好接口的產生
10 在接口中寫下定義這個接口的初衷,它的產生需求,以及限制與開發狀態(實現完成度)
11 那些不能用代碼描述的接口,就該化為文檔
12 盡可能引誘那些愿意使代碼高質量的程序員參與進來
13 接下來... ...精益求精ing