代碼書寫規範

代碼書寫規範

  1. 命名規範

1.1符號命名規則

符號名包括模塊名、常量名、標號名、子程序名等。這些名字應該能反映它所代表的實際東西,具有一定的意義,使其能夠見名知義,有助於對程序功能的理解。規則如下:
       (1)所有宏定義、枚舉常數和const變量,用大寫字母命名。在複合詞裏用下劃線隔開每個詞,儘量使用英文或英文縮寫。一些常量儘可能的用宏來替代,不要直接使用數字(ostime),某些流程使用狀態機的每個狀態使用枚舉實現,方便增加刪減某個狀態。如果是一些固定的數組用const(操作系統每個任務申請的棧是有限的,mcuRAM空間較小)。
       (2)變量是複合詞,每個單詞的第一個字母大寫,特別是使用頻率和範圍較大的變量,不可以用ijk(簡單的循環變量可採用i, j, k)這樣單一的字母來表示,這樣時間久了或者別人看你的代碼就很難理解清楚。(舉例說明)
       (3)類、類型定義和枚舉型名的第一個字母大寫。
       (4)函數名每個單詞采用第一個字母大寫,其它字母小寫方式。
       (5) 類的成員變量應採用m_開頭。
       (6) 全局變量詞頭爲g_
       (7) 臨時變量詞頭爲tmp_      

  1. 書寫規範

2.1代碼編輯

2.1.1 統一使用UTF-8編碼

2.2.2編輯軟件------------推薦使用source insight,統一使用配置可以避免代碼註釋行出現亂碼

2.2.3 必要的地方需要加上代碼註釋,儘可能的使用英文註釋, 一些底層接口或驅動配置需要註明函數的功能作用及作者。

2.2代碼縮放與{}使用規範

2.2.1代碼縮放,統一使用tab爲單位縮放,tab縮放有個好處可以整體前移一個單位(alt+tab鍵)

2.2.2{}的使用規定不可省略。很多iffor語句當只有一個語句時,雖然可以省去{},但建議不要省掉。例如:

if(cMychar >= ‘N’)
 if(cMychar <= ‘F’)
 printf(“This is  letter /n”);
else
printf(“This is not  letter /n”);
else
到底是否定哪個if容易引起誤解

2.3語句書寫

2.3.1每個分號佔一行代碼

2.3.2不要一句話寫一連串的運算,儘量每句話做一到三的個運算,如果實在需要做很複雜的運算可以用函數封裝起來,註明此接口的功能和參數的含義。

  1. 代碼封裝

3.1代碼封裝可以帶來節省空間,方便閱讀,方便修改。

3.1.1封裝的原則和目的

如果一段代碼重複出現很多次,就可以封裝起來,其次就是完整的實現一個功能的一段代碼可以封裝成一個函數接口。這樣就不會造成大量的重複代碼,也可以避免千行函數的出現。看起來讓人頭大。

3.2避免出現語法比較複雜的語句。語法複雜度太高編譯生成彙編文件會多很多語句,同時別人閱讀起來也不會很流暢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章