顯示具有 Linux 標籤的文章。 顯示所有文章
顯示具有 Linux 標籤的文章。 顯示所有文章

2011年8月3日 星期三

Linux kernel coding style (下)

13. 列印 kernel 訊息

kernel開發者喜歡被大家看成是個受過教育的人,所以字要拼對,才能製造這種好印象。不要用一些跛腳的字眼,像是"dont",要用"do not" 或是 "don't"。訊息文字要扼要 清楚 精確。

kernel訊息文字結尾不需要句點。

列印數字的時候加上括號(%d)是毫無意義的,應該避免。

在linux/device.h中有專為driver提供的巨集,可以方便的印出適合訊息文字,如dev_err() dev_warn() dev_info()。要印出與driver無關的訊息,可以用linux/printk.h中的pr_debug()或是pr_info()。


2011年7月28日 星期四

Linux kernel coding style (中)

7. 從單一出口離開function


雖然有些人打死不用goto,但在kernel裡goto還是很好用的,尤其是goto到function最後統一處理些資源回收的工作。另外:

  • 無條件執行的statement容易理解
  • 減少nesting
  • 很容易新增exit point,減少錯誤的機會
  • 幫助compiler作些最佳化處理

2011年7月26日 星期二

Linux kernel coding style (上)

小弟最近為了這個新硬體,加了一個linux kernel module並改寫了arch/powerpc下的一些code,嘗試要把修改的code送回公司的repo裡。結果寫得太差,光是coding stlye的因素就被maintainer修改了快超過500行,沒有被maintainer直接踢回來是他心地善良。於是我花了點時間看 linux coding style 的文件,並把重點摘要於此,希望能讓初次踏入linux kernel裡的人很快了解這個最最最基本的東西。