[基礎]命名規則

剛出來寫程式,還是一張超級白紙時,覺得命名就是讓人看得懂變數就好啦~現在好想回頭揍自己 ಠ▃ಠ

命名有兩個關鍵是:

  1. 可讀性
  2. 一致性

Snake Case, Pascal Case, Camel Case 這三種是較常被採用的命名方式,像像在目前專案上,變數則是使用Snake Case,但在Function則使用Pascal或Camel Case

Table of Contents

<span class="ez-toc-title-toggle"><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="顯示/隱藏內容目錄"><span class="ez-toc-js-icon-con"><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #999;color:#999" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #999;color:#999" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></span></a></span>

Snake Case

單字皆為小寫,單字以底線_分離。例如:user_name

Pascal Case

跟 Camel Case 類似,只是第一個字要大寫。例如:UserName

Camel Case(駝峰式)

第一個字母為小寫,之後每一個單字的開頭為大寫,不包含空格。
例如:userName

Kebab Case

跟Snake Case類似,單字以減號-分離。例如:user-name
較常在html裡面的class、div、id看到

Screaming Case

跟Snake Case類似,單字皆為全大寫。例如:PROJECT_NAME
常用地方:全域變數或設定檔內的變數。

我在取名字會盡量保持幾個原則

  • 不超過40個字
  • 不使用羅馬拼音(例如Jiancha,唸法就同檢查)
  • 使用有意義或公認的英文縮寫
  • 變數使用名詞或形容詞,有關function或操作的使用動詞
  • 選擇好溝通的英文
  • 好搜索,例如id,就加個user_id或admin_id,不然用id搜尋整個專案,出來可能會有上千個id…