1、
巨集定義格式:每個單詞用下劃線隔開。示例:
#define
***_yyy
20#define
、***_yyy、20
各用兩個
tab隔開
2、一律不得出現常量,對於出現的常量(指數字和字串),用意義明顯的巨集定義(或列舉變數)代替。
3、每個函式體不能過長,原則上不超過
200行
4、每個檔案不能過長,原則上不超過
2500行5、
類的規則:
(1)建構函式與析構函式放置在
public
下,並與其他
public
隔開(2)
訊息對映函式統一放在乙個
public
下,格式如下:
lresult
on***(
uint
umsg,
wparam
wparam,
lparam
lparam,
bool& bhandled);(3
)函式的實現體格式:
bool
classname
::functiona(cstring
strval){
....................}
6、函式中不出現複雜的計算公式,一律用巨集定義代替,定義時,一定要注意變數加空格。
7、函式必須用意義明確的英文單詞定義。
8、每個函式必須注釋其功能(簡單函式除外),重要變數也要注釋其用處。
9、特殊變數的型別如果考慮到以後可能更改的話,用
typedef
來重定義一下,以後要該的話,只需更改一處就可以了。
注意要與模板程式設計聯絡到一起,做到型別「復用」。
10、cdc
的attach
和detach
要成對使用,
getdc
和releasedc
成對使用。
切記,否則容易造成gdi控制代碼洩露
11、類指標的使用一定要判斷當前指標是否為
null
這個功能可以用乙個巨集定義來實現。如果類似的巨集定義多的話,可以總結在乙個單獨的檔案裡
12、對於變數賦值二選一的操作,建議用三元操作符?:
15、如果乙個巨集是由兩外兩個巨集計算得到一定要加括號。例如:
#define
max_cand_num
(candcel_row_num*candcel_col_num)
16、乙個工程大致分為下面幾部分:
(1)窗體的介面繪製類:負責子窗體的定位。
(2)訊息處理類:繪製類中只負責接受訊息,此類負責處理(1、
2可以合併)。
(3)工具類:負責資料合法性校驗。不能有成員變數,也不進行巨集、常量的定義(除非必須),完全由傳進來的引數,按照某種規則進行處理。
(4)資料處理類:負責資料的產生、處理。按照介面繪製類所需的格式進行返回,中間不需其他工具類的處理,但少量資料可以由工具類進行資料處理類和介面繪製類的中間轉換。此類裡不能有
extern
定義的全域性變數的引用,如果需要則傳引用。
17、在繪圖函式中不要做與繪製不相關的一切操作,只允許對背景、、或顯示的更改,其他任何操作都禁止,任何!
18、函式命名規則(1
)獲取某個字段。形式:修飾限定詞
+ of +
欄位名。
20、利用抽象類等技術盡量提高**的可重用性.
21、出了函式功能單一外,變數功能也要單一。即變數要盡量保持只有在迴圈、遞迴或者結果收集等他殊情況下,賦值次數才能夠超過一次。
22、介面主程式盡量不含有與介面控制相關的變數、函式,這些變數、函式一律組合成乙個合適的物件。
23、if
等表示式的條件盡量簡單,如果過於複雜則將複雜表示式(或其中一部分)的結果存放到乙個臨時變數,以此變數名稱來解釋表示式的用途。
24、對於建構函式比較好的寫法是,使用所謂的
member intialization list
(成員初值列表)替換賦值動作,例如:
abentry:abentry():thename(name),numtimesconsulted(0) {}
常規建構函式如下,但效率通常不如上面的高。
abentry:abentry()
25、寫類或者函式時候,要充分考慮將來所有的可能性。例如引數、返回值的型別有可能變動。例如乙個函式
cstringgettext( intindex );
其實這個函式在將來有可能返回其他型別例如
ushort
型別,這個時候函式名也要隨著更改,如果這個函式返回的是
ushort
型別,函式名卻潛意識告訴我們他返回乙個
text,
,而text
容易讓我們想到
cstring
(或與之相容或可以轉換的型別,例如
char *
)。另外這個函式的引數
index
,也有可能更改因為我們有可能用乙個
cstring
,去索引另外乙個
cstring
。26、
所有的資料都應該初始化,不管這是乙個內建型別還是自定義型別。
27、關於資料結構、巨集定義和常量定義最好都定義在乙個單獨的檔案中,這樣方便後來擴充套件時候使用。
自己總結的C 編碼規範
格式 乙個檔案最好不要超過500行 除ide自動生成的類 乙個檔案必須只有乙個命名空間,嚴禁將多個命名空間放在乙個檔案裡。乙個檔案最好只有乙個類。如果超過500行,考慮拆分類或者使用partial 類將類按照功能拆分。乙個方法的 最好不要超過50行,如果超過考慮將裡面的邏輯封裝成函式。空格 空行 空...
軟體開發編碼規範總結
意 義 1.乙個軟體的生命週期中,80 的花費在於維護,規範降低了金錢成本和時間成本 2.幾乎沒有任何乙個軟體,在其整個生命週期中,均由最初的開發人員來維護,規範減少了工作交接過程中的交流成本。3.規範可以改善軟體的可讀性,可以讓程式設計師盡快而徹底地理解新的設計和 節約了時間,提高了工作效率。4....
python基礎之編碼規範總結
官方文件 中文翻譯 每一級縮排4個空格。續行應該與包裹元素對齊,要麼使用圓括號,方括號,花括號內的隱式行連線來垂直對齊,要麼使用掛行縮排對齊。當使用掛行縮排對齊時,應該考慮到第一行不應該有引數,以及使用縮排程式設計客棧以區分自己是續行。def lajlomhdong function name va...