歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux操作系統內核編碼風格

Linux操作系統內核編碼風格

日期:2017/2/25 10:36:22   编辑:Linux教程

這篇簡短的文章描述了Linux內核首選的編碼風格。編碼風格是很個人化的東西,我不會把自己的觀點強加給任何人。但是,Linux內核的代碼畢竟是我必須有能力維護的,因此我寧願它的編碼風格是我喜歡的。請至少考慮一下這一點。
首先,我建議打印一份《GNU編碼標准》,不要閱讀它。燒掉它,它不過是象征性的姿態。然後,請看:
第 1 章: 縮進
Tabs(制表符)是8個字符的大小,因此縮進也應該是8個字符的大小。有些叛逆主張試圖把縮進變成4個(甚至是2個!)字符的長度,這就好象試圖把PI (案,圓周率)定義成3是一樣的。
依據:縮進背後的思想是:清楚地定義一個控制塊從哪裡開始,到哪裡結束。尤其是在你連續不斷的盯了20個小時的屏幕後,如果你有大尺寸的縮進。你將更容易發現縮進的好處。
現在,有些人說8個字符大小的縮進導致代碼太偏右了,並且在一個80字符寬的終端屏幕上看著很不舒服。對這個問題的回答是:如果你有超過3個級別的縮進,你就有點犯糊塗了,應當修改你的程序。
簡而言之,8個字符的縮進使程序更易讀,而且當你把功能隱藏的太深時,多層次的縮進還會對此很直觀的給出警告。要留心這種警告信息。
第 2 章: 放置花括號
C程序中另一個要主意的就是花括號的放置。與縮進尺寸不同的是,關於如何放置花括號沒有技術上的理由。但是,首選的方法是象先知Brain Kernighan和Dennis Ritchie展現的那樣:把左括號放在行尾,右括號放在行首。也就是:

if (x is true) {
we do y
}

然而,還有另外一種情況,就是函數:函數應當把左右括號都放在行首。也就是:

int function(int x)
{
body of function
}
叛逆的人們所在皆有。他們說,這樣會導致…嗯,不一致性(案,指函數的花括號使用與其他情況不統一)。但是所有正確思考的人都知道:(1) K&R是正確的;(2) K&R還是正確的。 而且,函數與別任何東西都不一樣(在C語言中你沒法隱藏它)。
注意,右括號所在的行不應當有其它東西,除非跟隨著一個條件判斷。也就是do-while語句中的“while”和if-else語句中的“else”。象這樣:

do {
body of do-loop
} while (condition);

和:

if (x == y) {
..
} else if (x >; y) {
...
} else {
....
}
依據: K&R。
而且,注意這種花括號的放置減少了空行的數目,並沒損害可讀性。因此,當屏幕上不可以有很多空行時(試想25行的終端屏幕),你就有更多的空行來安插注釋。

Copyright © Linux教程網 All Rights Reserved