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

educn68的個人空間 http://www.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色视| 日本成人免费在线 | 日本精品久久久久中文字幕2 | 久久99精品久久久久子伦小说 | 国产精品v片在线观看不卡 国产精品v欧美精品v日韩精品 | 欧美第一色 | 九九热精品视频在线 | 99热在线精品播放 | 日本va在线观看 | 轻点灬大ji巴太粗太大了小说 | 免费视频现线观看 | 欧美黄网站免费观看 | 4hc44四虎www亚洲 | 国产福利在线观看精品 | 国产中的精品一区的 | 91av视频在线播放 | h视频网站在线观看 | h在线免费观看 | 精品91麻豆免费免费国产在线 | 美女又爽又黄免费 | 四虎影视最新网站在线播放 | 亚洲精品 欧美 | 精品卡一卡卡2卡3网站 | 一级一片免费看 | 欧美日韩国产不卡在线观看 | 青青操青青| 国产精品成人观看视频网站 | 成人在线手机视频 | 四虎永久在线精品波多野结衣 | 羞羞网站视频 | 成年人三级视频 | 国内外成人在线视频 | 亚洲国产天堂久久综合226 |