分かりやすい変数の命名方法

@ハクト 2023-05-26 19:07:02に投稿

変数名を分かりやすく付けることでコードの可読性があがり、理解しやすくなりります。

また間違った単位での計算を未然に防ぐことができ、不具合が発生しデバッグなどもスムーズに行えるようになるので、少し面倒でも変数名は慎重に考えましょう。

今回は分かりやすい変数を命名する具体的な方法を解説します。

明解な名前にする

一般的にコードは書く時間よりも読む時間のほうが長いと言われています。明解な変数名にすることで何を意図しているのか理解しやすくなり可読性や保守性が向上します。

またコメントの量を減らしたり、デバッグ時のエラー防止にも役立つので、以下の例を参考に明確な名前をつけるよう心がけましょう。

変数

悪い例

// "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

@ハクト

サービス作り・デザイン好き。70年代生まれのWEBエンジニア。WEBパーツをCSSでカスタマイズしてコピペできるサービスを運営中「Pa-tu」。実装したWEBパーツやツールを利用してWEB情報やライフハックを発信してます。

Twitter