程式的縮排 Coding Style(Indent style) 使用 K&R

DK 長輩推薦 K&R Indent style(此連結也有其它的 Indent Style 可以比較), 慢慢使用後, 就漸漸喜歡上這個囉~

發現 PEAR 規定的 Coding Standards(這個有很詳細的說明和介紹), 看起來跟 K&R 也是一樣的. 🙂

詳細的應該就如網站上的範例, 在此直接將範例轉載過來:

  1.     int main(int argc, char *argv[])
  2.     {
  3.         ...
  4.         while (x == y) {
  5.             something();
  6.             somethingelse();
  7.      
  8.             if (some_error) {
  9.                 do_correct();
  10.             } else {
  11.                 continue_as_usual();
  12.             }
  13.         }
  14.      
  15.         finalthing();
  16.         ...
  17.     }
  18.     if (x < 0) {
  19.         puts("Negative");
  20.         negative(x);
  21.     } else {
  22.         puts("Non-negative");
  23.         nonnegative(x);
  24.     }

在此只列幾個要點:

  1. 每個 Indent 都是空 4格, 所以 vim 可以在 .vimrc 加下面這四行:
    • set expandtab
    • set shiftwidth=4
    • set softtabstop=4
    • set tabstop=4
  2. function/class 的 "{" 是單獨一行的, 其它的 "{" 都是接在 "()" 後面("()" 後面記得要空一格): ex: while () {, if () { ...
  3. function 的 "()" 是緊連著 function name, 其它標準的 if/else/while .. 等, 與 () 間有一個空白, ex: function() (沒空格), eval() (沒空格), if () (有空格), while () (有空格)...
  4. ()內的參數, 若有 "," 隔開, 則 "," 後面要空一格, ex: foo($arg1, $arg2='')
  5. =,>,<,&&,||, == .. 等 判斷條件, 前後要空格, ex: if ($a > $b), $a = $b && $c ...
  6. 注意: ($a > $b) 這些括號與變數間是沒有空隔的.($a 與 "(", 和 $b 與 ")" 間是沒有空格的)
  7. 其它更詳細的, 就看上面的範例, 或者參考 PEAR Coding Standards 這篇有規範更多其它的, ex: 註解的寫法等等, 可以參考看看~ 🙂

各大公司、Project 的 Coding Style 參考

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料