星期四, 元月 03, 2008

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

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

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

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

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

if (x < 0) {
    printf("Negative");
    negative(x);
} else {
    printf("Positive");
    positive(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: 註解的寫法等等, 可以參考看看~ :)
相關標籤
Add this page to del.icio.us Add this page to Yahoo Taiwan's bookmark Add this page to MyShare

發表迴響

標題

內容 (限制 1000 字)

暱稱

電子郵件

個人網頁


 authimage


PS: 若無法留言, 請先確認是否有打開 JavaScript, 造成您的困擾, 實在萬分對不起 Orz...(如果無法留言, 勞煩可以發信給我好嗎? 謝謝.)
PS2: 若您的留言被誤判, 我都會再自行看過, 不需要一直重覆張貼~