変数名を分かりやすく付けることでコードの可読性があがり、理解しやすくなりります。
また間違った単位での計算を未然に防ぐことができ、不具合が発生しデバッグなどもスムーズに行えるようになるので、少し面倒でも変数名は慎重に考えましょう。
今回は分かりやすい変数を命名する具体的な方法を解説します。
明解な名前にする
一般的にコードは書く時間よりも読む時間のほうが長いと言われています。明解な変数名にすることで何を意図しているのか理解しやすくなり可読性や保守性が向上します。
またコメントの量を減らしたり、デバッグ時のエラー防止にも役立つので、以下の例を参考に明確な名前をつけるよう心がけましょう。
変数
悪い例
// "a"は何を示しているのかわからない
let a = 5;
良い例
// "userCount"はユーザーの数を示していることが明解
let userCount = 5;
配列
悪い例
//何の配列なのか名前から判断できない
let arr = ['山田 太郎', '佐藤 花子', '鈴木 一郎'];
良い例
//ユーザー名のリストであることが明解
let userNameList = ['山田 太郎', '佐藤 花子', '鈴木 一郎'];
オブジェクト
悪い例
//何のオブジェクトなのかわからないし、"n", "a", "e"は何を示しているのかわからない
let obj = {n: "山田太郎", a: 30, e: "yamada@example.com" };
良い例
//ユーザーの情報を保持し、"name", "age", "email"も示しているものが明解
let user = {
name: "山田太郎", age: 30, email: "yamada@example.com"
};
名前に単位を付加する
変数名に単位を付けることで、その変数がどのような値を保持しているのかまたどのような文脈で使用されているかが明確になります。
変数の値の間違った解釈を防止するためにも以下の例を参考に特殊な値を設定している場合は単位を付けるようにしましょう。
変数の種類 | 単位を含めない | 単位を含める |
---|---|---|
時間 | time | timeSec |
生年月日 | date | birthYear |
長さ | length | lengthMeters |
通信速度 | speed | speedKbps |
温度 | temperature | tempCelsius |
体重 | weight | weightKg |
幅 | width | widthVw |
高さ | height | heightRem |
マージン | margin | marginPercent |
パディング | padding | paddingEm |
フォントサイズ | fontSize | fontSizePx |
スコープが小さいときは短い名前でOK
スコープは、ある変数や関数が使われるコードの範囲のことを指します。変数が限定的な範囲、つまりスコープが小さい場所でのみ使用されるときは、短い名前をつけても問題ありません。たとえば、ループで数えるための変数(iやjなど)や一時的に使う変数などが該当します。
省略形を活用する
省略形を使うことで、変数名を短縮することができます。ただ変数の意味が明確である場合に限ります。以下は変数を省略した例になります。
通常の名前 | 省略形 |
---|---|
message | msg |
number | num |
count | cnt |
index | idx |
increment | inc |
decrement | dec |
temporary | tmp |
previous | prev |
next | nxt |
maximum | max |
minimum | min |
value | val |
array | arr |
string | str |
object | obj |
function | func |
database | db |
parameter | param |
configuration | config |
reference | ref |
destination | dest |
source | src |
information | info |
document | doc |
application | app |
integer | int |
variable | var |
constant | const |
identifier | id |
不要な単語は捨てる
冗長さを避け、長すぎないシンプル名前をつけましょう。名前は冗長で長すぎる場合、理解しにくくなります。
冗長な名前 | シンプルな名前 |
---|---|
userArray | users |
userNameString | userName |
userInformationObject | userInfo |
listArray | list |
startDateOfEvent | eventStart |
customerInformationData | customerData |
websiteURLString | webURL |
isCustomerPremiumBoolean | isPremium |
dateOfBirthDate | birthDate |
databaseConnection | dbConnection |
timeStampOfLastLogin | lastLogin |
変数の命名規則
変数の命名規則は、コードの一貫性を保ちコードの可読性と維持管理性を高めるための重要な要素となります。命名規則の種類とその特徴は以下のとおりです。
キャメルケース
最初の単語以外の各単語の頭文字を大文字にします。
例)userName, accountBalance, printUserDetails
スネークケース
単語をアンダースコアでつないで、全て小文字にします。
例)user_name, account_balance, print_user_details
パスカルケース
すべての単語の頭文字を大文字にします。
例)UserName, AccountBalance, PrintUserDetails
ケバブケース
単語をハイフンでつなぎ、全て小文字にします。
例)user-name, account-balance, print-user-details
定数
単語をアンダースコアでつなぎ、全て大文字にします。
例)USER_NAME, ACCOUNT_BALANCE, PRINT_USER_DETAILS