linux內核代碼風格

linux內核代碼風格

ID:4121846

大小:222.01 KB

頁數(shù):15頁

時間:2017-11-29

linux內核代碼風格_第1頁
linux內核代碼風格_第2頁
linux內核代碼風格_第3頁
linux內核代碼風格_第4頁
linux內核代碼風格_第5頁
資源描述:

《linux內核代碼風格》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。

1、ChinesetranslatedversionofDocumentation/CodingStyleIfyouhaveanycommentorupdatetothecontent,pleaseposttoLKMLdirectly.However,ifyouhaveproblemcommunicatinginEnglishyoucanalsoasktheChinesemaintainerforhelp.ContacttheChinesemaintainer,ifthistranslationisoutdatedorther

2、eisproblemwithtranslation.Chinesemaintainer:ZhangLe---------------------------------------------------------------------Documentation/CodingStyle的中文翻譯如果想評論或更新本文的內容,請直接發(fā)信到LKML。如果你使用英文交流有困難的話,也可以向中文版維護者求助。如果本翻譯更新不及時或者翻譯存在問題,請聯(lián)系中文版維護者。中文版維護者:張樂Zha

3、ngLe中文版翻譯者:張樂ZhangLe中文版校譯者:王聰WangCongwheelz管旭東XudongGuanLiZefanWangChen以下為正文------------------------------

4、---------------------------------------Linux內核代碼風格這是一個簡短的文檔,描述了linux內核的首選代碼風格。代碼風格是因人而異的,而且我不愿意把我的觀點強加給任何人,不過這里所講述的是我必須要維護的代碼所遵守的風格,并且我也希望絕大多數(shù)其他代碼也能遵守這個風格。請在寫代碼時至少考慮一下本文所述的風格。首先,我建議你打印一份GNU代碼規(guī)范,然后不要讀它。燒了它,這是一個具有重大象征性意義的動作。不管怎樣,現(xiàn)在我們開始:第一章:縮進制表符是8個字符,所以縮進也是8個字符。有些異端

5、運動試圖將縮進變?yōu)?(乃至2)個字符深,這幾乎相當于嘗試將圓周率的值定義為3。理由:縮進的全部意義就在于清楚的定義一個控制塊起止于何處。尤其是當你盯著你的屏幕連續(xù)看了20小時之后,你將會發(fā)現(xiàn)大一點的縮進會使你更容易分辨縮進?,F(xiàn)在,有些人會抱怨8個字符的縮進會使代碼向右邊移動的太遠,在80個字符的終端屏幕上就很難讀這樣的代碼。這個問題的答案是,如果你需要3級以上的縮進,不管用何種方式你的代碼已經(jīng)有問題了,應該修正你的程序。簡而言之,8個字符的縮進可以讓代碼更容易閱讀,還有一個好處是當你的函數(shù)嵌套太深的時候可以給你警告。留心這

6、個警告。在switch語句中消除多級縮進的首選的方式是讓“switch”和從屬于它的“case”標簽對齊于同一列,而不要“兩次縮進”“case”標簽。比如:switch(suffix){case'G':case'g':mem<<=30;break;case'M':case'm':mem<<=20;break;case'K':case'k':mem<<=10;/*fallthrough*/default:break;}不要把多個語句放在一行里,除非你有什么東西要隱藏:if(condition)do_this;do_somet

7、hing_everytime;也不要在一行里放多個賦值語句。內核代碼風格超級簡單。就是避免可能導致別人誤讀的表達式。除了注釋、文檔和Kconfig之外,不要使用空格來縮進,前面的例子是例外,是有意為之。選用一個好的編輯器,不要在行尾留空格。第二章:把長的行和字符串打散代碼風格的意義就在于使用平常使用的工具來維持代碼的可讀性和可維護性。每一行的長度的限制是80列,我們強烈建議您遵守這個慣例。長于80列的語句要打散成有意義的片段。每個片段要明顯短于原來的語句,而且放置的位置也明顯的靠右。同樣的規(guī)則也適用于有很長參數(shù)列表的函數(shù)頭

8、。長字符串也要打散成較短的字符串。唯一的例外是超過80列可以大幅度提高可讀性并且不會隱藏信息的情況。voidfun(inta,intb,intc){if(condition)printk(KERN_WARNING"Warningthisisalongprintkwith""3parametersa:%u

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。