###### tags: `Lidemy` `common` `命名慣例` # 常見重點整理 - 命名慣例 & 開發時注意事項 參考資料:https://github.com/Lidemy/mentor-program-4th/blob/master/examples/common.md ## 什麼是好的 code? 1. 符合命名慣例以及命名一致性 2. 合理的變數名稱 ## 三種常見的命名慣例 ### 駝峰式命名(Camel case) - 就像駝峰會一高一低 - 單字之間不空格,而是直接連起來,但是連起來的第一個字要大寫 - 例如:有一個 handle add post 的 function,就會叫做 handleAddPost 駝峰又有分兩種: 1. 小駝峰(lower camel case):開頭是小寫,就像上面的範例 handleAddPost 2. 大駝峰(upper camel case):又被稱為 Pascal Case。開頭變成大寫,也就會變成 HandleAddPost ### 蛇型命名(Snake case) - 蛇就是底線的意思,利用底線來連接單字,然後全部都是小寫 - 同上述範例,會變成:handle_add_post ### 烤肉串命名(Kebab case) - Kebab 是烤肉串的意思,`-` 符號看起來就像那跟棍子 - 同上述範例,會變成:handle-add-post 認識這三種常見的命名慣例以及名詞之後,接著要來熟悉不同地方的命名慣例。也就是說,不同程式語言或是不同環境,使用的命名慣例也可能會不一樣。 需注意的是,命名慣例雖然沒有強制性,但開發時基本上都會依照這套慣例,避免寫出他人認為不好的 code。 ## JavaScript 在 JavaScript 中,不管是 function 或變數,習慣使用 lower camel case,也就是 `handleAddPost`。 在特殊情況下,可以使用大寫駝峰式,例如: 1. XMLHttpRequest 2. Number 3. Set 這些變數可以算是物件導向中的 class,因此習慣以大寫開頭。而 React 中的 也同樣會使用大寫開頭方式命名。 ### 常數 - 常數具有不變的特性,通常以 snake case + 全大寫來命名 - 例如:圓周率 PI,就會是 `Math.PI`;或是 client id 會寫成 CLIENT_ID ## 資料庫 table 與欄位 - 資料庫以 snake case 命名為主 - table 名稱的慣例是複數,所以使用者資料會叫做 users - 欄位名稱同樣是 snake case,以建立時間為例:created_at ## Url snake case 或 kebab case 這兩種慣例都蠻常見的,可能會長這樣: 1. handle_add_post 2. handle-add-post ## 變數命名 - 大原則:不確定縮寫或簡稱時,就乖乖寫好寫滿 - 例如:event handler 傳進來的參數 event,常見的簡寫就是 evt 或是 e - function 通常搭配動詞開頭,get 和 set 就是常見動詞。例如 getGames 或是 getStreams,setName 或是 setTitle ## 程式碼排版 例如統一空兩格,可透過調整編輯器設定,上傳到 GitHub 後要確認過沒有跑版問題。 --- ## 資訊安全 1. 程式碼都是公開的:後台管理界面一定要做驗證,才能進行權限管理 2. 不要存著僥倖心態:永遠都預設把你要輸出的東西做編碼(例如:跳脫)以後才輸出,而不是直接輸出,就可以避免掉很多的 XSS 攻擊。 ## 前端檢查 vs 後端檢查 前端做資料檢查,只是為了增進使用者體驗,後端做資料檢查才是真的檢查。
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.