日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言代码风格

發布時間:2023/12/14 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言代码风格 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C語言代碼風格總結

此文將用到的一些代碼風格規范總結起來,作為自己以后寫代碼時的參考。
大體上和Google全球開源項目C++風格一樣,Google風格指南鏈接如下:
Google 開源項目C++ 風格指南 - 內容目錄

(一)命名風格

業界流行的3種命名風格分別是大小駝峰式、下劃線式、匈牙利式,首先排除匈牙利式風格,個人比較猶豫的是小駝峰和下劃線式命名,個人比較喜歡下劃線式命名,一眼就能看出哪些單詞,令人很舒服,像linux這種C語言的終極大項目大部分都是下劃線式命名可見一斑。
而大小駝峰看起來很簡略,可是實際寫代碼的時候大部分都是比較長的幾個單詞組合,導致代碼大部分都是一連串的英文字母,可讀性比較差。有些人可能覺得可以用單詞縮寫或者縮減單詞這種手段來減少長度,但是《代碼整潔之道》說的很清楚,這種人寫的代碼只能給自己看,而且時間成了自己都要想半天縮寫是什么意思!
所以當長度上來以后我每次看的時候都要貼到屏幕上去分解單詞,眼睛太累了。然而對于單片機來說,實測發現用下劃線比大小駝峰多出很多內存消耗!
目前為了代碼可讀性暫時選用了下劃線式的,畢竟《重構》有句話說的好,代碼是寫給人的,不是寫給機器的!內存不足的時候再說吧!

1 變量命名:
全局變量、普通變量、結構體變量、臨時變量統一采用小寫單詞加下劃線式的命名格式,如this_is_name
補充規則:
ps:全局變量以后的項目可以參考《華為C語言規范》在前面加前綴
g_xxxx (global)

2 函數命名
函數命名的時候,首先加模塊名,然后動詞在前面,名詞在后面,統一小寫單詞加下劃線。另外根據《代碼整潔之道》函數粒度要足夠細,一個函數只允許做一件事,參數要足夠少,命名要意思表達準確,比如函數從外部拿數據的時候buf地址形參命名為source,函數將數據傳遞到外面的時候buf地址形參命名為destin。

另:
如果只是返回BOOL型的函數在函數名最前面加前綴is_xxxx,代表只返回TRUE or FALSE。

3 類型命名
結構體、聯合體、枚舉等命名的時候為了和變量區分開來,統一采用大駝峰式命名法則,結構體變量依舊是下劃線式。而枚舉內的變量統一全部大寫。

4 宏定義命名
數字型的宏定義統一大寫,函數型的宏定義和普通函數一樣的命名法則。

(二)程序風格

1 內聯函數
當函數只有 10 行甚至更少時將其定義為內聯函數.

內聯函數可以令目標代碼更加高效. 對于存取函數以及其它函數體比較短, 性能關鍵的函數, 鼓勵使用內聯.
但濫用內聯將導致程序變得更慢. 內聯可能使目標代碼量或增或減, 這取決于內聯函數的大小. 內聯非常短小的存取函數通常會減少代碼大小, 但內聯一個相當大的函數將戲劇性的增加代碼大小. 現代處理器由于更好的利用了指令緩存, 小巧的代碼往往執行更快。
所以,一個較為合理的經驗準則是, 不要內聯超過 10 行的函數.。
另一個實用的經驗準則: 內聯那些包含循環或 switch 語句的函數常常是得不償失 (除非在大多數情況下, 這些循環或 switch 語句從不被執行)。

2 #include 的路徑及順序
使用標準的頭文件包含順序可增強可讀性, 避免隱藏依賴。
順序:所依賴的頭文件,C 庫,其他庫的 .h,本項目內的 .h。

…待補充…

總結

以上是生活随笔為你收集整理的C语言代码风格的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。