编码风格 - 函数
每個(gè)函數(shù)都應(yīng)該設(shè)計(jì)得盡可能簡(jiǎn)單,簡(jiǎn)單的函數(shù)才容易維護(hù)。應(yīng)遵循以下原則:
-
實(shí)現(xiàn)一個(gè)函數(shù)只是為了做好一件事情,不要把函數(shù)設(shè)計(jì)成用途廣泛、面面俱到的,這樣的函數(shù)肯定會(huì)超長(zhǎng),而且往往不可重用,維護(hù)困難。
-
函數(shù)內(nèi)部的縮進(jìn)層次不宜過(guò)多,一般以少于4層為宜。如果縮進(jìn)層次太多就說(shuō)明設(shè)計(jì)得太復(fù)雜了,應(yīng)考慮分割成更小的函數(shù)(Helper Function)來(lái)調(diào)用。
-
函數(shù)不要寫(xiě)得太長(zhǎng),建議在24行的標(biāo)準(zhǔn)終端上不超過(guò)兩屏,太長(zhǎng)會(huì)造成閱讀困難,如果一個(gè)函數(shù)超過(guò)兩屏就應(yīng)該考慮分割函數(shù)了。[CodingStyle]中特別說(shuō)明,如果一個(gè)函數(shù)在概念上是簡(jiǎn)單的,只是長(zhǎng)度很長(zhǎng),這倒沒(méi)關(guān)系。例如函數(shù)由一個(gè)大的
switch組成,其中有非常多的case,這是可以的,因?yàn)楦?code class="literal">case分支互不影響,整個(gè)函數(shù)的復(fù)雜度只等于其中一個(gè)case的復(fù)雜度,這種情況很常見(jiàn),例如TCP協(xié)議的狀態(tài)機(jī)實(shí)現(xiàn)。 -
執(zhí)行函數(shù)就是執(zhí)行一個(gè)動(dòng)作,函數(shù)名通常應(yīng)包含動(dòng)詞,例如
get_current、radix_tree_insert。 -
比較重要的函數(shù)定義上側(cè)必須加注釋,說(shuō)明此函數(shù)的功能、參數(shù)、返回值、錯(cuò)誤碼等。
-
另一種度量函數(shù)復(fù)雜度的辦法是看有多少個(gè)局部變量,5到10個(gè)局部變量已經(jīng)很多了,再多就很難維護(hù)了,應(yīng)該考慮分割成多個(gè)函數(shù)
?
The ending...
轉(zhuǎn)載于:https://www.cnblogs.com/xiangtao/archive/2013/04/11/3014722.html
總結(jié)
- 上一篇: 【IT笔试面试题整理】不用加减乘除做加法
- 下一篇: C++自动生成的成员函数