C/C++ 编程规范(01 )— 排版
生活随笔
收集整理的這篇文章主要介紹了
C/C++ 编程规范(01 )— 排版
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 程序塊要采用縮進風格編寫,縮進的空格數為 4 個 。
- 相對獨立的程序塊之間、變量說明之后必須加空行。
if (!valid_ni(ni))
{
... // program code
}repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
- 較長的語句(>80 字符)要分成多行書寫,長表達式要在低優先級操作符處劃分新行,操作符放在新行之首,劃分出的新行要進行適當的縮進,使排版整齊,語句可讀。
perm_count_msg.head.len = NO7_TO_STAT_PERM_COUNT_LEN+ STAT_SIZE_PER_FRAM * sizeof( _UL );act_task_table[frame_id * STAT_TASK_CHECK_NUMBER + index].occupied= stat_poi[index].occupied;act_task_table[taskno].duration_true_or_false= SYS_get_sccp_statistic_state( stat_item );report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER)&& (n7stat_stat_item_valid (stat_item))&& (act_task_table[taskno].result_data != 0));
- 循環、判斷等語句中若有較長的表達式或語句,則要進行適應的劃分,長表達式要在低優先級操作符處劃分新行,操作符放在新行之首。
if ((taskno < max_act_task_number)&& (n7stat_stat_item_valid (stat_item)))
{
... // program code
}for (i = 0, j = 0; (i < BufferKeyword[word_index].word_length)&& (j < NewKeyword.word_length); i++, j++)
{
... // program code
}
- 若函數或過程中的參數較長,則要進行適當的劃分。
n7stat_flash_act_duration( stat_item, frame_id *STAT_TASK_CHECK_NUMBER+ index, stat_object );n7stat_str_compare((BYTE *) & stat_object,(BYTE *) & (act_task_table[taskno].stat_object),sizeof (_STAT_OBJECT));
- 不允許把多個短語句寫在一行中,即一行只寫一條語句。
// 示例:如下例子不符合規范。
rect.length = 0; rect.width = 0;// 應如下書寫
rect.length = 0;
rect.width = 0;
if、for、do、while、case、switch、default等語句自占一行,且if、for、do、while等語句的執行語句部分無論多少都要加括號{}。
// 示例:如下例子不符合規范。
if (pUserCR == NULL) return;// 應如下書寫:
if (pUserCR == NULL)
{return;
}
- 對齊只使用空格鍵,不使用
TAB鍵。
說明:以免用不同的編輯器閱讀程序時,因 TAB 鍵所設置的空格數目不同而造成程序布局不整齊,不要使用 BC作為編輯器合版本,因為 BC 會自動將 8 個空格變為一個 TAB 鍵,因此使用BC 合入的版本大多會將縮進變亂。
?
-
函數或過程的開始、結構的定義及循環、判斷等語句中的代碼都要采用縮進風格,
case語句下的情況處理語句也要遵從語句縮進要求。 -
程序塊的分界符(如
C/C++語言的大括號{和})應各獨占一行并且位于同一列,同時與引用它們的語句左對齊。在函數體的開始、類的定義、結構的定義、枚舉的定義以及if、for、do、while、switch、case語句中的程序都要采用如上的縮進方式。
// 示例:如下例子不符合規范。
for (...) {
... // program code
}if (...){... // program code}void example_fun( void ){... // program code}// 應如下書寫。
for (...)
{... // program code
}if (...)
{... // program code
}void example_fun( void )
{... // program code
}
- 在兩個以上的關鍵字、變量、常量進行對等操作時,它們之間的操作符之前、之后或者前后要加空格;進行非對等操作時,如果是關系密切的立即操作符(如
->)后不應加空格。
說明:采用這種松散方式編寫代碼的目的是使代碼更加清晰。由于留空格所產生的清晰性是相對的,所以,在已經非常清晰的語句中沒有必要再留空格,如果語句已足夠清晰則括號內側(即左括號后面和右括號前面)不需要加空格,多重括號間不必加空格,因為在 C/C++語言中括號已經是最清晰的標志了。
在長語句中,如果需要加的空格非常多,那么應該保持整體清晰,而在局部不加空格。給操作符留空格時不要連續留兩個以上空格。
- 逗號、分號只在后面加空格。
int a, b, c;
- 比較操作符,賦值操作符
=、+=,算術操作符+、%,邏輯操作符&&、&,位域操作符<<、^等雙目操作符的前后加空格。
if (current_time >= MAX_TIME_value)
a = b + c;
a *= 2;
a = b ^ 2;
!、~、++、--、&(地址運算符)等單目操作符前后不加空格。
*p = 'a'; // 內容操作 * 與內容之間
flag = !isEmpty; // 非操作 ! 與內容之間
p = &mem; // 地址操作 & 與內容之間
i++; // ++,--與內容之間
->、.前后不加空格。
p->id = pid; // -> 指針前后不加空格
if、for、while、switch等與后面的括號間應加空格,使if等關鍵字更為突出、明顯。
if (a >= b && c > d)
for (int i=0; i<=10; i++)
總結
以上是生活随笔為你收集整理的C/C++ 编程规范(01 )— 排版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2022-2028年中国增光膜行业市场研
- 下一篇: 2022-2028年中国塑料合成革的制造