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