C語言編碼規範 2--排版


C語言編碼規範1--文件與目錄                         https://blog.csdn.net/RootCode/article/details/93221475

C語言編碼規範 2--排版                                   https://blog.csdn.net/RootCode/article/details/93222263

C語言編碼規範 3 --註釋                                  https://blog.csdn.net/RootCode/article/details/93223912

C語言編碼規範 4 --可讀性                               https://blog.csdn.net/RootCode/article/details/93226117

C語言編碼規範 5--變量、結構、常量、宏       https://blog.csdn.net/RootCode/article/details/93226847

C語言編碼規範 6--函數                                    https://blog.csdn.net/RootCode/article/details/93227533


1、程序塊要採用縮進風格編寫,縮進的空格數爲 4 個。

2、相對獨立的程序塊之間、變量說明之後必須加空行。

void DemoFunc(void)
{
	uint8_t i;
	                                //<---- 局部變量和語句間空一行
	/* 功能塊 1 */
	for (i = 0; i < 10; i++)
	{
		//...
	}
	                                //<---- 不同的功能塊間空一行
	/* 功能塊 2 */
	for (i = 0; i < 20; i++)
	{
		//...
	}
}

3、作符處劃分新行,操作符放在新行之首,劃分出的新行要進行適當的縮進,使排版整齊,語句可讀。

if ((ucParam1 == 0) && (ucParam2 == 0) && (ucParam3 == 0)
        || (ucParam4 == 0)) < ---- 長表達式需要換行書寫
{
	//......
}

4、不允許把多個短語句寫在一行中,即一行只寫一條語句。

rect.length = 0; rect.width = 0;     //<---- 不正確的寫法

rect.length = 0;                     //<---- 正確的寫法
rect.width  = 0;

5、對齊使用 TAB 鍵,1 個 TAB 對應 4 個字符位。

6、函數或過程的開始、結構的定義及循環、判斷等語句中的代碼都要採用縮進風格,case 語句下的情況處理語句也要遵從語句縮進要求。

7、程序塊的分界符(如大括號‘{’和‘}’ )應各獨佔一行並且位於同一列,同時與引用它們的語句左對齊。在函數體的開始、類的定義、結構的定義、枚舉的定義以及 if、for、do、while、switch、case 語句中的程序都要採用如上的縮進方式。對於與規則不一致的現存代碼,應優先保證同一模塊中的風格一致性。

for (...) {                            <---- 不規範的寫法
    //... /* program code */
}

for (...)
{                                     <---- 規範的寫法
    //... /* program code */
}

if (...)
{                                     <---- 不規範的寫法
    //... /* program code */
}

if (...)
{                                     <---- 規範的寫法
    //... /* program code */
}

8、在兩個以上的關鍵字、變量、常量進行對等操作時,它們之間的操作符之前、之後或者前後要加空格;進行非對等操作時,如果是關係密切的立即操作符(如->),後不應加空格。
說明:採用這種鬆散方式編寫代碼的目的是使代碼更加清晰。
        由於留空格所產生的清晰性是相對的,所以,在已經非常清晰的語句中沒有必要再留空格,如果語句已足夠清晰則括號內側(即左括號後面和右括號前面)不需要加空格,多重括號間不必加空格,因爲在 C語言中括號已經是最清晰的標誌了。
        在長語句中,如果需要加的空格非常多,那麼應該保持整體清晰,而在局部不加空格。給操作符留空格時不要連續留兩個以上空格。

示例:
(1)逗號、分號只在後面加空格。

int_32 a, b, c;

(2)比較操作符,賦值操作符"="、 "+=",算術操作符"+"、"%",邏輯操作符"&&"、"&",位域操作符"<<"、"^"等雙目操作符的前後加空格。

if (current_time >= MAX_TIME_VALUE)
a = b + c;
a *= 2;
a = b ^ 2;

(3)"!"、"~"、"++"、"--"、"&"(地址運算符)等單目操作符前後不加空格。

*p = 'a';                 /* 內容操作"*"與內容之間 */
flag = !isEmpty;          /* 非操作"!"與內容之間 */
p = &mem;                 /* 地址操作"&" 與內容之間 */
i++;                      /* "++","--"與內容之間 */

(4)"->"、"."前後不加空格。

p->id = pid;             /* "->"指針前後不加空格 */

(5)if、for、while、switch 等與後面的括號間應加空格,使 if 等關鍵字更爲突出、明顯,函數名與其後的括號之間不加空格,以與保留字區別開。

if (a >= b && c > d)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章