Nginx編碼風(fēng)格圖示

特別聲明:本文是在《Nginx開發(fā)從入門到精通》的附錄A 編碼風(fēng)格基礎(chǔ)上補(bǔ)充完善了一些細(xì)節(jié)問題。

一、基本原則

  • K&R編碼風(fēng)格(偏BSD子類)
  • 每行不能超過80列
  • 不用TAB對齊,用空格
  • 默認(rèn)對齊單元是4個空格
  • 除宏定義外,字母均為小寫,單詞間用下劃線間隔
  • 使用C方式的注釋,不得使用//形式注釋
  • 中綴運(yùn)算符的前后須空一格,如3 + 2以及a > 3
  • 逗號后須空一格,如foo(a, b, c);
  • if/while/for/switch條件表達(dá)式只有一行時,左花括號與表達(dá)式處于同一行,表達(dá)式為多行時,左花括號獨(dú)占一行

二、風(fēng)格圖示(if/while/for/switch)

  1. 小括號與兩邊字符空一個空格,括號內(nèi)表達(dá)式兩邊與括號之間沒有空格
  2. 如果表達(dá)式只有一行,if/while/for/switch語句的左花括號和關(guān)鍵字在同一行上,和括號之間空一個空格
  3. else/else if語句之前須空出一行
  4. else/else if關(guān)鍵字和兩個花括號在同一行上,且左右空一個空格
  5. 右花括號與if/while/for/switch關(guān)鍵字對齊




  6. 當(dāng)條件表達(dá)式過長需要折行時,邏輯運(yùn)算符須位于下一行的行首,并與同一層次的條件表達(dá)式的第一個字符對齊
  7. 當(dāng)條件表達(dá)式過長需要折行時,比較運(yùn)算符須位于下一行的行首,并與比較語句的第一個字符對齊
  8. 當(dāng)條件表達(dá)式為多行時,左花括號須位于單獨(dú)的一行,并與if/while等關(guān)鍵字對齊


  9. 例外情況,當(dāng)條件表達(dá)式過長時,邏輯運(yùn)算符可以適當(dāng)提前


  10. 例外情況,條件表達(dá)式一行剛好80字符,左花括號可以位于單獨(dú)一行


  11. switch語句中,switch和case關(guān)鍵字上下對齊


  12. for語句表達(dá)式分多行時,分成三行,且每行第一個字符對齊


  13. 無限循環(huán)語句使用for ( ;; ),分號兩邊都空一格空格

三、風(fēng)格圖示(函數(shù))

  1. 函數(shù)聲明或定義若一行顯示不下,則函數(shù)原型空4個空格


  2. 函數(shù)定義時,返回類型及修飾符獨(dú)占一行
  3. 函數(shù)參數(shù)列表過長需要換行時,換行后需要空4個空格
  4. 函數(shù)定義的左花括號獨(dú)占一行


  5. 函數(shù)調(diào)用折行時,參數(shù)上下對齊

四、風(fēng)格圖示(變量、結(jié)構(gòu)體)

  1. 在函數(shù)中,相同類型的變量聲明放在一行上
  2. 函數(shù)中變量聲明的類型上下排列按照從短到長的順序。注意,最下面的變量的類型和名稱間的空格為2-3個。一般情況下為2個,這是Nginx中最小的變量聲明中類型和名稱的距離
  3. 變量名稱上下對齊——字母對齊,不包括指針的*號


  4. 結(jié)構(gòu)體內(nèi)變量上下對齊(字母,不包括指針的*號)


  5. 結(jié)構(gòu)體數(shù)組的左花括號放在同一行上
  6. 結(jié)構(gòu)體數(shù)組的花括號和內(nèi)容之間空一個空格


  7. 較大的結(jié)構(gòu)體數(shù)組元素最開始空一行,元素之間也空一行
  8. 元素內(nèi)容上下對齊

五、風(fēng)格圖示(其他)

  1. 文件開始的注釋空一行
  2. 較為完整的代碼塊間的距離為空兩行。如函數(shù)聲明、函數(shù)定義之間等
  3. 函數(shù)中不同處理邏輯之間可以空一行


  4. 注釋上下對齊


  5. 單行注釋格式為/* something */
  6. 多行注釋的格式為:
/*
 * something
 */
  1. 字符串賦值語句多行時引號對齊


  2. 賦值語句多行時,邏輯運(yùn)算符與上一行字符對齊
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容