C語言編碼風格(四) 函式

2021-06-10 01:25:16 字數 778 閱讀 2785

每個函式都應該設計得盡可能簡單,簡單的函式才容易維護。應遵循以下原則:

實現乙個函式只是為了做好一件事情,不要把函式設計成用途廣泛、面面俱到的,這樣的函式肯定會超長,而且往往不可重用,維護困難。

函式內部的縮排層次不宜過多,一般以少於4層為宜。如果縮排層次太多就說明設計得太複雜了,應考慮分割成更小的函式(helper function)來呼叫。

函式不要寫得太長,建議在24行的標準終端上不超過兩屏,太長會造成閱讀困難,如果乙個函式超過兩屏就應該考慮分割函式了。[codingstyle]中特別說明,如果乙個函式在概念上是簡單的,只是長度很長,這倒沒關係。例如函式由乙個大的switch組成,其中有非常多的case,這是可以的,因為各case分支互不影響,整個函式的複雜度只等於其中乙個case的複雜度,這種情況很常見,例如tcp協議的狀態機實現。

執行函式就是執行乙個動作,函式名通常應包含動詞,例如get_currentradix_tree_insert

比較重要的函式定義上側必須加注釋,說明此函式的功能、引數、返回值、錯誤碼等。

另一種度量函式複雜度的辦法是看有多少個區域性變數,5到10個區域性變數已經很多了,再多就很難維護了,應該考慮分割成多個函式。

注:[codingstyle] linux核心源**目錄下的documentation/codingstyle檔案.

**《linuxc程式設計 一站式學習》

蘿蔔根

語言編碼風格

打算重新學習一下程式語言,已c語言為例,本類文章主要記述學習過程。c語言的程式設計風格,好的程式設計風格能讓人一眼看明白 的含義,並且讓 就像是藝術品一樣精彩,一下為參考一下優秀的注釋內容和 內容來使自己的 清晰易懂,便於維護 這是乙個事例程式,版權屬於cc 使用陣列的乙個例子 include vo...

linux下的C語言編碼風格

語句行首最好是8個字元的縮排 switch suffix 一行只有一條語句,錯誤示範如下 if condition do this 長度超過80另起一行,但不要折斷字串 非函式語句,左花括號放在最後,且與前面空一格 if x is true 函式語句,左花括號另起一行 int function in...

Go 語言編碼風格指南

命名切片 字串隨機數 錯誤處理 在go語言官方提供的effective go的基礎之上,我們制定了如下的編碼規範作為補充。像這樣 this is a comment不要這樣 this is a comment用於 生成的指令不需要遵循這個規則 go generate go run gen.go另外,...