国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

educn68的個人空間 http://m.qingdxww.cn/space-uid-108783.html [收藏] [復制] [RSS]

博客

【分享-信盈達】Linux內核編碼風格4!

已有 1866 次閱讀2014-7-4 14:35

   第六章:函數

 

函數應該簡短而漂亮,并且只完成一件事情。函數應該可以一屏或者兩屏顯示完(我們都知道ISO/ANSI屏幕大小是80x24),只做一件事情,而且把它做好。

 

一個函數的最大長度是和該函數的復雜度和縮進級數成反比的。所以,如果你有一個理論上很簡單的只有一個很長(但是簡單)的case語句的函數,而且你需要在每個case里做很多很小的事情,這樣的函數盡管很長,但也是可以的。

 

不過,如果你有一個復雜的函數,而且你懷疑一個天分不是很高的高中一年級學生可能甚至搞不清楚這個函數的目的,你應該更嚴格的遵守最大限制。使用輔助函數,并為之取個具描述性的名字(如果你覺得其對性能要求嚴格的話,你可以要求編譯器將它們內聯展開,它往往會比你更好的完成任務。)

 

函數的另外一個衡量標準是本地變量的數量。此數量不應超過510個,否則你的函數就有問題了。重新考慮一下你的函數,把它分拆成更小的函數。人的大腦一般可以輕松的同時跟蹤7個不同的事物,如果再增多的話,就會糊涂了。即便你聰穎過人,你也可能會記不清你2個星期前做過的事情。

 

在源文件里,使用空行隔開不同的函數。如果該函數需要被導出,它的EXPORT*宏應該緊貼在它的結束大括號之下。比如:

 

int system_is_up(void)

{

        return system_state == SYSTEM_RUNNING;

}

EXPORT_SYMBOL(system_is_up);

 

在函數原型中,包含函數名和它們的數據類型。雖然C語言里沒有這樣的要求,在Linux里這是提倡的做法,因為這樣可以很簡單的給讀者提供更多的有價值的信息。

 

 

                第七章:集中的函數退出途徑

 

雖然被某些人聲稱已經過時,但是goto語句的等價物還是經常被編譯器所使用,具體形式是無條件跳轉指令。當一個函數從多個位置退出并且需要做一些通用的清潔工作的時候,goto的好處就顯現出來了。

理由是:

- 無條件語句容易理解和跟蹤

- 嵌套程度減小

- 可以避免由于修改時忘記更新某個單獨的退出點而導致的錯誤

- 減輕了編譯器的工作,無需刪除冗余代碼;)

 

int fun(int a)

{

        int result = 0;

        char *buffer = kmalloc(SIZE);

 

        if (buffer == NULL)

                return -ENOMEM;

 

        if (condition1) {

                while (loop1) {

                        ...

                }

                result = 1;

                goto out;

        }

        ...

out:

        kfree(buffer);

        return result;

}

 

 


路過

雞蛋

鮮花

握手

雷人

評論 (0 個評論)

facelist

您需要登錄后才可以評論 登錄 | 立即注冊

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
返回頂部
主站蜘蛛池模板: 国内精品久久久久久久影视麻豆 | 国产高清精品自在线看 | 91在线视频一区 | 韩国一级毛片在线高清免费 | 国产女人18一级毛片视频 | 一本伊在人香蕉线观新在线 | 欧美高清观看免费全部完 | 狠狠色依依成人婷婷九月 | 国产精品一区在线麻豆 | 在线观看国产精品麻豆 | 亚洲美日韩 | 在线精品自拍亚洲第一区 | 久草国产精品视频 | 中文字幕一区二区三区精品 | 久久精品一本到99热免费 | 久久这里知有精品99re66 | 中文字幕日本在线 | 国产高颜值露脸在线观看 | 国产高清在线精品 | 免费在线观看毛片 | 99热2| 轻轻草在线视频 | 一周的说唱歌手免费观看 | 精品视频www | 亚洲欧美在线观看视频 | 特级无码a级毛片特黄 | 欧美日韩一区二区三区在线 | 精品在线观看国产 | 久久久久久免费播放一级毛片 | 就爱干草视频 | 91短视频在线观看2019 | 久久久久久久99精品免费 | 在线观看视频h | 午夜日韩视频 | 国产成人精品一区二区 | 精品久久中文久久久 | 香蕉久草视频 | 亚洲天堂在线观看视频 | 亚洲一级大片 | 国产精品欧美在线观看 | 久久99精品久久久久久秒播放器 |