修正括號的style

php code highlight

 

php coding style

  • 總是使用<?php ... ?>,而不使用<?...?>
  • 所有的變數、functions、classes,都使用小寫英文字,使用"_"區隔每個單字。
    /* 正確 */
    yahoo_action_getcategory
    
    /* 錯誤 */
    yahooactiongetcategory
    
  • 在每行行尾的";"之前不可有空白字元。
    /* 正確 */
    a = b + c;
    
    /* 錯誤 */
    a = b + c ; 
    
  • 在物件參考之前不可有空白字元。
    /* 正確 */
    a->b;
    
    /* 錯誤 */
    a-> b;
    
  • 在陣列與運算域之間不可有空白字元。
    /* 正確 */
    counter++;
    a[0];
    
    /* 錯誤 */
    counter ++;
    a [0];
    
  • 每個運算子間都必需有空白字元。
    /* 正確 */
    a = b + c;
    
    /*錯誤*/"
    a=b+c;
    
  • "&&" 與 "||" 之間不可有空白字元。
  • if,for,while等的括號區塊內的參數皆以空白隔開。
    /* 正確 */
    for (i = 0; i < 1; i++) {
    
    }
    
    /* 錯誤 */
    for(i=0;i < 1;i++) {
    
    }
    
  • 程式碼需要垂直對齊。
    /* 正確 */
    a = b + c;
    d = a + e;
    
    /* 錯誤 */
    a = b + c;
            d = a + e;
    
  • 程式碼太長必須分行時,以運算子當做行尾換行。
    /* 正確 */
    a = b + c + d +
        e + f;
    /* 錯誤 */
    a = b + c + d
    + e + f;
    
  • 用括號明確的限制運算優先順序。
    /* 正確 */
    if (((a == b) && (c > d)) || (e != f)) {
    }
    
    /* 錯誤 */
    if (a == b && c > d || e != f) {
    }
    
  • 程式碼都使用2個空白字元縮排,不要使用tab縮排。
  • 在if內明確的條件限制自己要的值,而不用else接取非判斷中的值。
    /* 正確 */
    if (i == 1) {
      /* 正確情況要捕捉 i == 1 */
    }
    else if (i == 2) {
    }
    else if (i == 3) {
    }
    else {
      /* 未知情況 */
    }
    
    /* 錯誤 */
    if (i == 2) {
    }
    else if (i == 3) {
    }
    else {
      /* 利用以上皆非,接取 i == 1 或任何可能的情況 */
    }
  • switch應用於很長很長的if,else連續判斷。
  • 註解與程式碼間需用空行或空白隔開。
  • 移除不用的程式碼,而不要只把不要的程式碼使用註解標記起來。
  • 迴圈、if的連續判斷中括號底部都加上所屬的註解
    /* 正確 */
    for (i = 0; i < total; i++) {
      if (found) {
        // 30+ lines here
      }
      else { /* found */
        // 40+ lines here
      } /* found */
    } /* for i = 0 ... total */
    
    /* 錯誤 */
    for (i = 0; i < total; i++) {
      if (found) {
        // 30+ lines here
      }
      else {
        // 40+ lines here
      }
    }