學習linux的編碼風格

2021-09-02 04:46:22 字數 2508 閱讀 8838

對於編碼,每個碼農或許都會有自己的一套風格,很多人可能對編碼風格壓根就不關心,因為最終編譯器編譯出來的目標**並不會受影響。但是在開發乙個大型專案時,花費時間成本最多的永遠是開發者們之間的溝通與交流。保持編碼風格的一致性可以在很大程度上提高編碼效率,可以讓其他人更容易讀懂你的**,也讓你更容易讀懂其他人的**。

在選擇編碼風格上,個人更青睞於linux的編碼風格,所以特意總結了一下:

1、縮排

linux的縮排風格是用製表符(tab)每次縮排八個字元長度。這裡強調的是製表符,並不是用幾個空格符來替代。如果在linux裡面八個字元長度的製表符顯得太長的話,那我們還是最好來修改自己的**吧!最好不要在**中用四層及以上的巢狀縮排。在switch...case...語句中,switch與case具有相同的縮排。

在windows上面預設製表符是4個字元長度,所以不必去在意到底幾個字元長度,只要每次縮排使用製表符即可。

2、括號

linux的風格是:

(1)對於函式的左右括號,左右括號分別為單獨的一行:

int func()

(2)對於控制語句中的左右括號,左括號緊跟在語句的後面,與語句在相同的一行,而右括號新起一行,作為該行的第乙個字元:

if (x)
如果接下來的部分是相同語句的一部分,那麼右括號不單獨佔一行:

if (x)else

或者do while(x);

如果不是一定要括號的語句,就忽略它:

if (x)else

或者do while(x);

但是對於條件語句來說,如果乙個分支是一行語句,另乙個語句是多行,則需要保持一致,使用花括號:

if (x)else

或者do while(x);

3、空格

(1)在關鍵字「if,switch,case,for,do,while」之後需要加上空格

if (condition)
(2)在關鍵字「sizeof,typedef,alignof,__attribute__」之後不需要加空格:

sizeof(int);
(3)在括號裡的表示式兩邊不需要加空格;

(4)大多數的二元和三元運算子兩邊需要加空格,「= + - < > * / % | & ^ <= >= == != ? :」;

(5)一元運算子後面不加空格,「& * + - ~ ! sizeof typedef alignof __attribute__」;

(6)在字首自增自減運算子之後和字尾自增自減運算子之前不需要空格,「++ --」;

(7)結構成員運算子的兩邊不需要空格,「. ->」;

4、命名規範

linux的名稱中不允許使用混合的大小寫字元。區域性變數應該盡量可以清楚地表明它的用途;全域性變數和函式應該選擇包含描述性內容的名稱。

5、函式

函式的**程度不應該超過兩屏,區域性變數不應該超過10個。乙個很大的函式盡量分成一些更短小的函式的組合,每個函式應該功能單一並且實現精準。如果擔心函式呼叫帶來開銷,可以把小函式宣告為inline。

如果函式的名稱是一種動作或者命令式的語句,應該以錯誤**的形式返回(一般0表示成功,-e***形式的負數表示錯誤),如:do_something()

如果函式的名稱是判斷語句,則返回值應該類似於布林值(1表示成功,0表示失敗),如:something_is_exist()

6、巨集

多行的巨集定義要用"do...while"來封裝,如:

#define func(a,b,c) \

do while(0)

7、注釋

注釋應該描述的是**要做什麼和為什麼要這麼做,而不應該描述具體通過什麼方式來實現。如何實現應該通過**本身來展現。不要把作者,日期等一些沒有意義的內容寫在注釋裡面,這些資訊應該集中寫在檔案最開頭的地方。在linux中採用c89的注釋風格「 /* ... */ 」,不採用c99的「 // .... 」

/*

* get_foo() - return the current value of foo

* we need this to calculate the bar ratio. this can sleep,

* so do not call while holding a lock

*/int get_foo()

只有在特殊情況下才會在函式裡面注釋。比如宣告乙個bug或者某個重要的假設。在注釋裡面,重要資訊以「***x:」開頭。

編碼是一種藝術。我們碼的不僅僅是**,更是一種情懷。

linux核心編碼風格

linux核心編碼風格 linus torvalds 這是一篇描述linux 核心編碼風格的短小文件。編碼風格是個人化的,而且我不想將自己的意見強加在任何人身上,但是編碼風格卻和我必須要維護的東西是密切相關的。至少,你可以考慮這點的觀點。首先,我建議列印乙份關於 gnu編碼標準 的影印件。我並不期望...

python風格編碼 Python編碼風格 概述

對於 python 而言,pep 8 已成為大多數專案遵循的風格指南 它給出了乙個高度可讀,視覺友好的編碼風格。每個 python 開發者應該閱讀一下 這裡是為你提取出來的最重要的要點 from pymongo import mongoclient import gridfs,datetime,ti...

linux下的C語言編碼風格

語句行首最好是8個字元的縮排 switch suffix 一行只有一條語句,錯誤示範如下 if condition do this 長度超過80另起一行,但不要折斷字串 非函式語句,左花括號放在最後,且與前面空一格 if x is true 函式語句,左花括號另起一行 int function in...