1 首先,了解自己。這樣才能知道,哪些是與機(jī)器打交道的人是可以做到的,而哪些是不能做的
2 知識(shí)結(jié)構(gòu)中,一定要對計(jì)算機(jī)這個(gè)"二進(jìn)制編碼系統(tǒng)"有所了解,所以為什么好多C/C++大師人物,推薦學(xué)習(xí)匯編和現(xiàn)代計(jì)算機(jī)體系結(jié)構(gòu)
??? 因?yàn)椋m說現(xiàn)代的優(yōu)化編譯器很好,但是從另一個(gè)角度來說,我們所做的所有編碼任務(wù)最終要被映射到計(jì)算機(jī)硬件(這個(gè)經(jīng)過"預(yù)編碼的二進(jìn)制系統(tǒng)",而且硬件本身也有缺陷)環(huán)境上,所以這樣有助于了解程序到底做了什么事,有助于寫出便于調(diào)試和優(yōu)化的代碼。
3 C++語言各個(gè)特性對設(shè)計(jì)產(chǎn)生的影響
4 數(shù)據(jù)結(jié)構(gòu)、算法的熟悉,這是基本功
5 確定目標(biāo),人員的,與時(shí)間表,盡可能早的讓市場人員參與進(jìn)來,所以建立一些個(gè)release point and demo
6 讓項(xiàng)目相關(guān)人員一起討論,統(tǒng)一口頭詞匯,一些行業(yè)背景概念,建立技術(shù)規(guī)范說明書(不宜晦澀難懂),統(tǒng)一技術(shù)詞匯,要有個(gè)大家都能接受的代碼規(guī)范說明,和命名規(guī)則,以及一些必要的原則,盡可能多的在這個(gè)階段吧每一項(xiàng)都化為白紙黑字。
還有,最重要的是工作內(nèi)容的量化評估系統(tǒng)!
7?模塊劃分時(shí),考慮參與人員的數(shù)量和任務(wù)分配,如何使他們有利于分配到自己每一天的任務(wù)表中。考慮與代碼管理系統(tǒng)的整合關(guān)系
8?良好接口所擁有的特征審查表: (你會(huì)發(fā)覺,只要當(dāng)你不斷調(diào)整你的借口定義來滿足以下四項(xiàng)中的三項(xiàng)時(shí),代碼重用性很好,因?yàn)檫@是個(gè)符合人性的定義,便于記憶!)
??? a 功能的正交分解
??? b 最小化的接口
??? c 最明確的函數(shù)調(diào)用語義
??? d 最適合的出錯(cuò)檢查機(jī)制
9 實(shí)現(xiàn)接口時(shí),同時(shí)寫一些用戶代碼,以此檢查功能正確性和用戶端代碼的編程范型。由此,推動(dòng)良好接口的產(chǎn)生
10 在接口中寫下定義這個(gè)接口的初衷,它的產(chǎn)生需求,以及限制與開發(fā)狀態(tài)(實(shí)現(xiàn)完成度)
11 那些不能用代碼描述的接口,就該化為文檔
12 盡可能引誘那些愿意使代碼高質(zhì)量的程序員參與進(jìn)來
13 接下來... ...精益求精ing