【轉】GNU風格和Linux核心風格

Linux上的編程主要有兩種變成風格:GNU風格和Linux核心風格,下面我分別介紹之。

下面幾條是基於GNU開放源代碼方面的要求:

  1. 在任何情況下都不要引用有版權的源代碼。
  2. 善意接受別人給您的程序添加的代碼,但請記住檢查其合法性,即是否也是 GNU 的。
  3. 編寫日誌文件(Changelog),這將使您的代碼更容易維護。

下面是GNU的編程風格,編寫代碼時應遵循這些基本要求。
1,函數開頭的左花括號放到最左邊,避免把任何其他的左花括號、左括號或者左方括號放到最左邊。
    1)盡力避免讓兩個不同優先級的操作符出現在相同的對其方式中。
    2)每個程序都應該有一段簡短地說明其功能的註釋開頭。例如:fmt-filter for simplefilling of text.
2,請爲每個函數書寫註釋,以說明函數做了些什麼,需要哪些種類的參數,參數可能的值的含義以及用途。
    1)不要在聲明多個變量時跨行。在每一行中都以一個新的聲明開頭。
    2)當在一個if語句中嵌套了另一個if-else語句時,應用花括號把if-else括起來。
3,要在同一個聲明中同時說明結構標識和變量,或者結構標識和類型定義(typedef)。
    1)盡力避免在if的條件中進行賦值。
    2)請在名字中使用下劃線以分隔單詞,儘量使用小寫;把大寫字母留給宏和枚舉常量,以及根據統一的慣例使用的前綴。
    3)命令一個命令行選項時,給出的變量應該在選項含義的說明之後,而不是選項字符之後。

Linux內核編程風格
下面是Linux內核所要求的編程風格:
1,主要縮進格式。
2,將開始的大括號放在一行的最後,而將結束大括號放在一行的第一位。
3,命名系統。變量命名儘量使用簡短的名字。
4,函數最好短小精悍,一個函數最好只作一件事情。
5,註釋。註釋說明代碼的動能,而不是說明其實現原理。
看了上面兩種風格的介紹,讀者是不是覺得太多拉,難以記住?不要緊,Linux有很多工具來幫助我們。除了vim和emacs以外,還有一個非常有意思的小工具indent可以幫我們美化C/C++源代碼。
下面用這條命令將Linux內核編程風格的程序quan.c轉變成GNU編程風格,代碼如下:$ indent -gnu quan.c
利用indent這個工具,大家就可以方便地寫出漂亮的代碼來。

文章來源:

http://www.huihoo.org/gnu/c.html

http://hi.baidu.com/lammy/blog/item/1d2ed7b46eeb93738bd4b23f.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章