X

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

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

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

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

    int main(int argc, char *argv[])
    {
        ...
        while (x == y) {
            something();
            somethingelse();
     
            if (some_error) {
                do_correct();
            } else {
                continue_as_usual();
            }
        }
     
        finalthing();
        ...
    }

    if (x < 0) {
        puts("Negative");
        negative(x);
    } else {
        puts("Non-negative");
        nonnegative(x);
    }

在此只列幾個要點:

  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: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post