iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0
自我挑戰組

寫程式帶給我的無形快樂系列 第 19

[雜談] 取名定程式碼的一生

  • 分享至 

  • xImage
  •  

前言

naming-convention
這個開源專案彙整了各種語言的規範、Style Guide、 Git Comment 格式...等
應有盡有,非常完整!

引述其中一句話:

『 There are only two hard things in Computer Science: cache invalidation and naming things -- Phil Karlton 』

命名真的是寫程式中最困難的事之一!!


常見規則

先補充幾種常見的命名規則:

  • camelCase 第一個單字字母小寫,之後每一個單字第一個字母為大寫。常用於 JavaScript。
  • PascalCase 第一個單字字母大寫,之後每一個單字第一個字母為大寫。常用於 C。
  • snake_case 以底線分隔單字,每個單字第一個字母為小寫。常用於 PHP。
  • kebab-case 以中線分隔單字,每個單字第一個字母為小寫。

各個語言或是每個團隊/公司都有自訂自己的一套規則,一致性為主!

以下整理 JavaScript 常見的命名規範


變數

Javascript 中的變數是有區分大小寫的

例如:

let name = 'ithelp';
let Name = 'ithome';
console.log(name); // ithelp
console.log(Name); // ithome

一般 JavaScript 都推薦使用 camelCase (駝峰式命名)


常數

通常會全部使用大寫,採用 UPPER_SNAKE_CASE

var SECONDS = 60;
var MINUTES = 60;
var HOURS = 24;

var DAY = SECONDS * MINUTES * HOURS;

如果名稱超過一個單字會用底線(_)連結

var DAYS_UNTIL_TOMORROW = 1;

Boolean 值

常會使用 is has 作為前綴詞

// bad
var visible = false;
// good
var isvisible = false;

// bad
var owner = true;
// good
var hasOwner = true;

函式

函式名稱一樣也區分大小寫,和變數類似,推薦 camelCase 命名
建議使用 形容名詞 (descriptive nouns)動詞當前綴詞(prefix)

常使用 get make apply 當前綴詞

// bad
function name(dogName, ownerName) { 
  return '${dogName} ${ownerName}';
}

// good
function getName(dogName, ownerName) { 
  return '${dogName} ${ownerName}';
}

快樂泉源

看程式碼像看書一樣
看的人會希望讀起來流暢,不用一直去記前面的細節或內容

程式也是,如果命名的好,光看名字就會記得這個變數、這個函式的用途
不用一直在檔案之間做切換

沒有靈感時,就到 GitHub 搜尋各大框架或是專案,看看巨人們的命名

Angular
vuejs
Meta


參考資源

JavaScript naming conventions
JavaScript Coding Conventions


上一篇
吃下 Regular Expressions 翻譯年糕 (量詞)
下一篇
吃下 Regular Expressions 翻譯年糕 (位置)
系列文
寫程式帶給我的無形快樂30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言