學習筆記 程式設計規範

2021-10-09 22:44:59 字數 1946 閱讀 6268

參照這個文件

變數命名用英文小寫【禁用拼音】,名詞或形容詞_名詞;類名和結構體名用駝峰

左值一定是可以改變的,右值一定是初始化過的

變數首次使用之前一定要初始化,初始化的地方離使用的地方越近越好。

識別符號的命名要清晰、明了,有明確含義,同時使用完整的單詞或大家基本可以理解的縮寫,避免使人產生誤解

int error_number;

int number_of_completed_connection;

常用縮寫

argument 可縮寫為 arg

buffer 可縮寫為 buff

clock 可縮寫為 clk

command 可縮寫為 cmd

compare 可縮寫為 cmp

error 可縮寫為 err

hexadecimal 可縮寫為 hex

initialize 可縮寫為 init

maximum 可縮寫為 max

message 可縮寫為 msg

minimum 可縮寫為 min

parameter 可縮寫為 para

previous 可縮寫為 prev

temp 可縮寫為 tmp

全域性變數應增加「g_」 字首,靜態變數應增加「s_」

首先,全域性變數十分危險,通過字首使得全域性變數更加醒目,促使開發人員對這些變數的使用更加小心。

其次,從根本上說,應當盡量不使用全域性變數,增加g_和s_字首,會使得全域性變數的名字顯得很醜陋,從而促使開發人員盡量少使用全域性變數。【哈哈哈哈哈哈哈哈】

函式名全部小寫字母且用_連線多個單詞命名變數,一般是動詞或動詞_名詞

乙個函式只完成乙個功能

對函式的錯誤返回碼要全面處理

乙個函式(標準庫中的函式/第三方庫函式/使用者定義的函式)能夠提供一些指示錯誤發生的方法。這可以通過使用錯誤標記、特殊的返回資料或者其他手段,不管什麼時候函式提供了這樣的機制,呼叫程式應該在函式返回時立刻檢查錯誤指示。

函式不變引數使用const

函式應避免使用全域性變數、靜態區域性變數和 i/o 操作

函式在使用輸入引數之前,應進行有效性檢查。

常量全部大寫

盡量不用巨集

賦值語句不要寫在 if 等語句中,或者作為函式的引數使用

因為if語句中,會根據條件依次判斷,如果前乙個條件已經可以判定整個條件,則後續條件語句不會再執行,所以可能導致期望的部分賦值沒有得到執行。

錯誤示例:if ((a == 0) || ((b = fun1()) > 10))

想暫時排除**,也要留個標註,不然可能會忘記處理它。

在**的功能、意圖層次上進行注釋,即注釋解釋 **難以直接表達的意圖 , 而不是重複描述**

注釋的目的是解釋**的目的、功能和採用的方法,提供**以外的資訊,幫助讀者理解**,防止沒必要的重複注釋資訊。對於實現**中巧妙的、晦澀的、有趣的、重要的地方加以注釋。注釋不是為了名詞解釋(what),而是說明用途(why)。

重要的、複雜的函式,提供外部使用的介面函式應編寫詳細的注釋。

全域性變數要有較詳細的注釋,包括對其功能、取值範圍以及訪問時注意事項等的說明

換行時要增加一級縮排,使**可讀性更好;

低優先順序操作符處劃分新行;換行時操作符應該也放下來,放在新行首;

換行時建議乙個完整的語句放在一行,不要根據字元數斷行。

正確示例:

if

((temp_flag_var == test_flag)&&(

((temp_counter_var - test_count_begin)

% test_count_module)

>= test_count_threshold)

)

如果if/else配套語句中有乙個分支有「{}」,那麼另乙個分支即使一行**也建議增加「{}」

c 程式設計規範學習筆記(二)

一次只解決乙個問題 只給乙個實賦予乙個定義良好的職責。軟體簡單為美 正確優於速度,簡單優於複雜,清晰優於技巧。使用靈活 動態分配的資料,不要使用固定大小的陣列 了解演算法的實際複雜度 優先使用線性演算法或盡可能快的演算法 盡可能避免劣於線性複雜度的演算法 永遠不要使用指數複雜度的演算法,除非你別無選...

Google C 程式設計規範 筆記

我是vc入門,也相當最初是windows程式設計,google程式設計規範有他自己的特點,它強調 支援多平台,支援32 64位,不使用預設函式引數 不使用異常等 unicode編碼 utf8 函式引數順序 function parameter ordering 定義函式時,引數順序為 輸入引數在前,...

《checklist程式設計規範》筆記

簡單的總結一下c編碼風格 第一章 排版1.1 縮排 整個專案中要麼4個空格縮排,要麼乙個tab鍵縮排,不允許混用。tab鍵要保證寬度是4個空格 縮排要求 if else case forwhile語句要縮排,要縮排,extern c namespace 塊 case除外 空格使用 1.關鍵字if e...