深入學習Linux系統,Linux核心程式設計風格(轉)
深入學習Linux系統,Linux核心程式設計風格(轉)[@more@] 這篇短小的文件用於描述linux核心程式設計中推薦的程式設計風格。程式設計風格是很個人化的東西,我不想把我的觀點_強加_給任何人,但這是我必須維護的程式碼中所遵守的,我也建議其他部分的程式碼也能遵守它。請至少給這裡的觀點一些考慮。
首先,我建議你列印一份GNU程式碼風格,不是去讀它,而是把它燒了,這是個很不錯的姿態。
下面就是Linux核心程式設計風格:
第一章:縮排
製表符(tabs)佔8個字元,所以縮排也是8個字元。有些異端運動想使用4個字元(甚至是2個字元)的縮排,這和把PI(圓周率)定為3沒什麼兩樣。
原因:縮排的根本目的是用來清晰地標識一個控制塊的起始。特別是當你連續盯著螢幕看了20 個小時後,你就會體會到更長的縮排的好處了。
現在,有些人提出8字元縮排會使得程式碼太偏向右邊,當使用80字元的終端時很難閱讀。答案是如果你需要三層以上的縮排,那麼你已經完蛋了,應該改改你的程式了。
簡而言之,8字元縮排使得閱讀程式碼更為容易,並且在你的縮排層次過深時提出警告。應該留心這樣的警告。關於這一點,我不能苟同,4個字元的縮排確實有它的好處,縮排太多反而看著累。而且有時候僅僅兩層巢狀就會使程式碼很長。
第二章:括號的位置
括號位置的問題在C程式設計風格中經常被提出。和縮排大小不同,括號位置的選擇並沒有太多技術上的原因,而更多的是個人的喜好。比如Kernighan和Ritchie的弟子們把左括號放在一行的最後,把右括號放在一行的開始,象這樣:
首先,我建議你列印一份GNU程式碼風格,不是去讀它,而是把它燒了,這是個很不錯的姿態。
下面就是Linux核心程式設計風格:
第一章:縮排
製表符(tabs)佔8個字元,所以縮排也是8個字元。有些異端運動想使用4個字元(甚至是2個字元)的縮排,這和把PI(圓周率)定為3沒什麼兩樣。
原因:縮排的根本目的是用來清晰地標識一個控制塊的起始。特別是當你連續盯著螢幕看了20 個小時後,你就會體會到更長的縮排的好處了。
現在,有些人提出8字元縮排會使得程式碼太偏向右邊,當使用80字元的終端時很難閱讀。答案是如果你需要三層以上的縮排,那麼你已經完蛋了,應該改改你的程式了。
簡而言之,8字元縮排使得閱讀程式碼更為容易,並且在你的縮排層次過深時提出警告。應該留心這樣的警告。關於這一點,我不能苟同,4個字元的縮排確實有它的好處,縮排太多反而看著累。而且有時候僅僅兩層巢狀就會使程式碼很長。
第二章:括號的位置
括號位置的問題在C程式設計風格中經常被提出。和縮排大小不同,括號位置的選擇並沒有太多技術上的原因,而更多的是個人的喜好。比如Kernighan和Ritchie的弟子們把左括號放在一行的最後,把右括號放在一行的開始,象這樣:
CODE:
if (x is true) {
we do y } 來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-961247/,如需轉載,請註明出處,否則將追究法律責任。
請登入後發表評論
登入
全部評論
|
相關文章
- Linux系統程式設計【5】——stty的學習Linux程式設計
- 深入學習 Linux 核心模組Linux
- C 語言程式碼風格之 Linux 核心程式碼風格Linux
- 【Linux】Linux系統程式設計入門Linux程式設計
- 為什麼Python程式設計師需要學習Linux系統?Python程式設計師Linux
- 《Linux核心設計與實現》學習【5】—— 核心同步Linux
- 【Linux系統程式設計】Linux訊號列表Linux程式設計
- 物聯網學習教程—Linux系統程式設計之程式介紹Linux程式設計
- Linux轉行學習有年齡限制嗎?Linux系統運維學習Linux運維
- 前端學習 linux —— shell 程式設計前端Linux程式設計
- Linux系統程式設計—有名管道Linux程式設計
- Linux系統程式設計基礎Linux程式設計
- Linux系統程式設計入門Linux程式設計
- Linux學習/TCP程式設計學習筆記LinuxTCP程式設計筆記
- Linux核心學習—— 1核心體系結構Linux
- Linux系統程式設計【4】——檔案系統Linux程式設計
- 【Linux】關於Linux的系統程式設計總結Linux程式設計
- Linux程式設計學習筆記 | Linux IO學習[2] – 標準IOLinux程式設計筆記
- 【學習】Linux Shell指令碼程式設計Linux指令碼程式設計
- Linux系統程式設計之程式介紹Linux程式設計
- Linux系統程式設計:mmap使用技巧Linux程式設計
- Linux系統程式設計:訊號捕捉Linux程式設計
- Linux系統程式設計之匿名管道Linux程式設計
- Linux系統程式設計—訊號捕捉Linux程式設計
- Linux系統程式設計-檔案IOLinux程式設計
- Linux雲端計算是什麼?Linux系統學習方法Linux
- Linux桌面系統有哪些?Linux雲端計算學習Linux
- 物聯網學習教程—Linux系統程式設計之多工實現(二)Linux程式設計
- Linux雲端計算學習難嗎?學習Linux系統怎麼樣?Linux
- 深入理解Linux作業系統下的守護程式(轉)Linux作業系統
- 怎樣系統的學習linux?Linux學習路線!Linux
- Linux系統程式設計——特殊程式之孤兒程式Linux程式設計
- 對於Linux系統統計的命令有哪些?怎樣系統的學習LinuxLinux
- Linux系統——程式設計師跳槽必備Linux程式設計師
- Linux作業系統之Shell程式設計Linux作業系統程式設計
- Linux系統程式設計之檔案IOLinux程式設計
- linux系統程式設計CP小測試Linux程式設計
- 如何學習shell程式設計?Linux運維學習shell程式設計是什麼程式設計Linux運維
- Linux 程式設計1:深入淺出 Linux 共享記憶體Linux程式設計記憶體