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

嵌入式C編碼中函數(shù)的規(guī)范
評論