web开发规则,代码规范

本文作者: 李瑞豪
修改时间: 2019-08-15 21:26:20
本文链接: https://lruihao.cn/posts/dev-rules.html

精神

  • 絕對不寫死程式
  • 不留不要用的、垃圾程式碼

Git

  • Master 的 BUG 必須最少且趨近於零
  • 每次 Commit 訊息應該確實填寫,不可模稜兩可
  • 禁止 Commit IDE 的 project data

命名

  • 命名應根據內容做有意義的命名,讓後續維護人員可以顧名思義!
  • 即使不會發生錯誤,程式碼英文大小寫也需明確區分。

語意

類型 命名規則 說明
屬性 (Attribute, Property) 名詞
user_name、userName
方法 (Method, Function) 動詞+名詞
getUserName、get_user_name
常見的動詞有:get、set、update、delete、remove

字母與分隔

語言 變數 (Variable, Parameter, Argument) 常數 (Constant) 物件導向 - 類名 (Class Name) 物件導向 - 成員 (mebmer)
HTML、CSS 全部小寫,不同單字以「-」分隔
user-id
JavaScript 首字小寫,不同單字「首字以大寫」分隔
userId
全部大寫,不同單字以「_」分隔
MAX_COUNT
首字大寫,不同單字「首字以大寫」分隔
一個檔案放一個 Class
檔名即為 Class Name
User
公有 (public) : 首字小寫,不同單字「首字以大寫」分隔
name, getName
私有 (private): _公有命名規則
_name, _getName
PHP 全部小寫,不同單字以「_」分隔
user_id
SQL 由使用者定義的:表名、欄位名
全部小寫,不同單字以「_」分隔
SQL語法、函數
全部大寫
SELECT、INSERT INTO
-

通用

  • 程式碼撰寫
  • 每個函數應該註解,註解應包含函數工能說明、引數說明。
  • 不必要的代碼不要寫,也禁止放到註解裡面!
  • if-else 的 {} 嚴禁省略。
  • {} 起始一律跟在 前一個功能的尾巴,禁止分行

正確寫法

public function test(){
  //do something
  if($a === $b){
    //do something
  }
}

錯誤寫法

public function test()
{
  //do something
  if($a === $b)
  {
    //do something
  }
}
  • 程式碼排版
    • 任何程式碼應該以 2 個 space 為一個階層做好排版、不可使用 tab。
  • 函數 (Function, Methd)
    • 函數宣告時需在函數上方加上函數註解,註解應包含函數說明、引數內容 (引數型態、引數英文名稱、引數說明)、 回傳值內容 (回傳值型態、回傳值說明)
  • 類 (Class)
    • 一個類 (Class) 的宣告只能存在一個檔案。
    • 類 (Class) 的宣告檔,檔名必須為類名。
  • 其他
    • 連結本地任何其他資源 (圖片、檔案、網站) 皆使用相對路徑,禁止使用絕對路徑,非本地資源除外。

HTML

程式碼撰寫

  • 禁止在 HTML 使用