說明:對於由開發工具自動生成的**可以有不一致。
示例:如下例子不符合規範。
if (!valid_ni(ni))
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
應如下書寫
if (!valid_ni(ni))
repssn_ind = ssn_data[index].repssn_index;
repssn_ni = ssn_data[index].ni;
示例: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)))
for (i = 0, j = 0; (i < bufferkeyword[word_index].word_length)
&& (j < newkeyword.word_length); i++, j++)
for (i = 0, j = 0;
(i < first_word_length) && (j < second_word_length);
i++, j++)
示例:n7stat_str_compare((byte *) & stat_object,
(byte *) & (act_task_table[taskno].stat_object),
sizeof (_stat_object));
n7stat_flash_act_duration( stat_item, frame_id *stat_task_check_number
+ index, stat_object );
示例:如下例子不符合規範。
rect.length = 0; rect.width = 0;
應如下書寫
rect.length = 0;
rect.width = 0;
示例:如下例子不符合規範。
if (pusercr == null) return;
應如下書寫:
if (pusercr == null)
說明:以免用不同的編輯器閱讀程式時,因tab鍵所設定的空格數目不同而造成程式布局不整齊,不要使用bc作為編輯器合版本,因為bc會自動將8個空格變為乙個tab鍵,因此使用bc合入的版本大多會將縮排變亂。
示例:如下例子不符合規範。
for (...)
if (...)
void example_fun( void )
應如下書寫。
for (...)
if (...)
void example_fun( void )
說明:採用這種鬆散方式編寫**的目的是使**更加清晰。
由於留空格所產生的清晰性是相對的,所以,在已經非常清晰的語句中沒有必要再留空格,如果語句已足夠清晰則括號內側(即左括號後面和右括號前面)不需要加空格,多重括號間不必加空格,因為在c/c++語言中括號已經是最清晰的標誌了。
在長語句中,如果需要加的空格非常多,那麼應該保持整體清晰,而在區域性不加空格。給操作符留空格時不要連續留兩個以上空格。
示例:(1) 逗號、分號只在後面加空格。
int 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)
程式設計命名規範之 Google C 程式設計命名規範
大一的時候曾經特別關注過命名規範的問題,並且寫了乙個部落格總結了一些基礎的規範 三種程式設計命名規範 後來得知有一種命名規範叫做 go ogle c goo glec 命名規範的時候,特意看了一下,但是特別反感,感覺太糟糕了,所以就沒有深究過 我討厭壓行,這是我反感這個規範的最大原因。不過,現在我不...
SQL程式設計規範
一 sql書寫規範 二 書寫優化效能建議 三 其他經驗性規則 一 sql書寫規範 1 sql語句的所有表名 欄位名全部小寫,系統保留字 內建函式名 sql保留字大寫。2 連線符or in and 以及 等前後加上乙個空格。3 對較為複雜的sql語句加上注釋,說明演算法 功能。注釋風格 注釋單獨成行 ...
程式設計規範(記住!)
下面都清楚嗎?陣列 指標陣列 函式指標陣列 指標 陣列指標 指標 函式指標 規則1 2 1 為了防止標頭檔案被重複引用,用ifndef define endif 結構產生預處理塊。建議1 2 2 標頭檔案中只存放 宣告 而不存放 定義 即不要在標頭檔案定義變數等 建議1 2 3 對於全域性變數,在c...