程式設計規範 排版

2021-07-13 02:18:37 字數 2664 閱讀 6178

說明:對於由開發工具自動生成的**可以有不一致。

示例:如下例子不符合規範。

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...