◎ 一個(gè)函數(shù)僅完成一件功能
◎ 重復(fù)代碼應(yīng)該盡可能提煉成函數(shù)。
說明:重復(fù)代碼提煉成函數(shù)可以帶來維護(hù)成本的降低。重復(fù)代碼是不良代碼最典型的特征之一。在“代碼能用就不改”的指導(dǎo)原則之下,新需求增加帶來的代碼拷貝和修改,隨著時(shí)間的遷移,產(chǎn)品中堆砌著許多類似或者重復(fù)的代碼。
◎ 避免遞歸函數(shù)的代碼塊嵌套過深。
◎ 對(duì)函數(shù)的錯(cuò)誤返回碼要全面處理。
說明:一個(gè)函數(shù)(標(biāo)準(zhǔn)庫中的函數(shù)/第三方庫函數(shù)/用戶定義的函數(shù))能夠提供一些指示錯(cuò)誤發(fā)生的方法,可以通過使用錯(cuò)誤標(biāo)記、特殊的返回?cái)?shù)據(jù)或者其他手段,調(diào)用程序應(yīng)該在函數(shù)返回時(shí)立刻檢查錯(cuò)誤指示。
◎ 廢棄函數(shù)要及時(shí)清除
說明:程序中的廢棄代碼不僅占用額外的空間,而且還常常影響程序的功能與性能,很可能給程序的測(cè)試、維護(hù)等造成不必要的麻煩。
◎ 函數(shù)傳入的不變參數(shù)使用const限制。
◎ 函數(shù)的參數(shù)個(gè)數(shù)不超過5個(gè),檢查輸入?yún)?shù)的有效性。
說明:函數(shù)的參數(shù)過多,會(huì)使得該函數(shù)易于受外部(其他部分的代碼)變化的影響,從而影響維護(hù)工作。函數(shù)的參數(shù)過多同時(shí)也會(huì)增大測(cè)試的工作量。函數(shù)的參數(shù)個(gè)數(shù)不要超過5個(gè),如果超過了建議拆分為不同函數(shù);函數(shù)的輸入主要有兩種:一種是參數(shù)輸入;另一種是全局變量、數(shù)據(jù)文件的輸入,即非參數(shù)輸入。函數(shù)在使用輸入?yún)?shù)之前,應(yīng)進(jìn)行有效性檢查。
◎ 源文件范圍內(nèi)聲明和定義的所有函數(shù),除非外部可見,否則增加static關(guān)鍵字,針對(duì)單元測(cè)試的特殊情況,對(duì)這類函數(shù)盡量封裝一層再使用。
◎ 傳入?yún)?shù)表意有3種以上的禁止使用魔法數(shù),必須使用枚舉值且附帶注釋。
◎ 函數(shù)內(nèi)部要對(duì)參數(shù)的合法性進(jìn)行檢查。
說明:函數(shù)的輸入主要有兩種:一種是參數(shù)輸入;另一種是全局變量、數(shù)據(jù)文件的輸入,即非參數(shù)輸入。函數(shù)在使用輸入?yún)?shù)之前,應(yīng)進(jìn)行有效性檢查。
◎ 除打印類函數(shù)外,不要使用可變長(zhǎng)函數(shù)。
說明:可變長(zhǎng)參函數(shù)的處理過程比較復(fù)雜容易引入錯(cuò)誤,而且性能也比較低,使用過多的可變長(zhǎng)參函數(shù)將導(dǎo)致函數(shù)的維護(hù)難度大大增加。
◎ 每個(gè)函數(shù)都要返回錯(cuò)誤碼,調(diào)用程序必須在函數(shù)返回時(shí)檢查錯(cuò)誤碼。
◎ 標(biāo)識(shí)符的命名要清晰明了,有明確含義,使用完整的單詞,盡量避免名字中出現(xiàn)數(shù)字編號(hào)或特殊符號(hào)。
◎ 函數(shù)名稱需體現(xiàn)出函數(shù)具體功能,均由功能單詞拼接組成,絕不允許出現(xiàn)中文拼音。
◎ 函數(shù)命名應(yīng)以函數(shù)要執(zhí)行的動(dòng)作命名,一般采用動(dòng)詞或者動(dòng)詞+名詞的結(jié)構(gòu)。
-
嵌入式
+關(guān)注
關(guān)注
5059文章
18974瀏覽量
302069 -
編碼
+關(guān)注
關(guān)注
6文章
933瀏覽量
54731 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4284瀏覽量
62325 -
代碼
+關(guān)注
關(guān)注
30文章
4723瀏覽量
68236
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論