📚

誰でも機能がすぐ分かる変数や関数の命名規則

2022/06/24に公開

はじめに

これは私の個人的な主観に基づいた命名規則です。
修正や追加等はコメントまたはGitHubの編集リクエストをお待ちしております。

変数の命名規則

意味を持つ単語で構成する

userName = "佐藤"
userAge = "20歳"

2単語以上使う場合

プロジェクト内では2単語以上を使う場合の命名規則を決めておくと便利です。

私はキャメルケース派です。

# 2単語目を大文字にする
inputName = input("名前を入力してください: ") # キャメルケース

# _で区切る
input_age = input("年齢を入力してください: ") # スネークケース

# 先頭も大文字にする
InputName = input("名前を入力してください: ") # パスカルケース

関数の命名規則

真偽値

def isLogin(userData):
    # ログインしているかどうか
    pass

def canLogin(userData):
    # ログインできるかどうか
    pass

def existsUser(userData):
    # ユーザーが存在するかどうか
    pass

def isAdmin(userData):
    # 管理者かどうか

def needLogin(userData):
    # ログインが必要かどうか

データ操作

追加

def setData(data):
    # データを設定する
    pass

def addData(data):
    # データを追加する
    pass

def insertData(data):
    # データを挿入する
    pass

作成

def newData(data):
    # 新しいデータを作成する
    pass

def makeData(data):
    # データを作成する
    pass

def createData(data):
    # データを作成する
    pass

更新

def putData(data):
    # データを更新する
    pass

def updateData(data):
    # データを更新する
    pass

def changeData(data):
    # データを変更する
    pass

def enableData(data):
    # データを有効にする
    pass

def disableData(data):
    # データを無効にする
    pass

def touchData(data):
    # データを変換する
    pass

def fixData(data):
    # データを修正する
    pass

削除

def deleteData(data):
    # データを削除する
    pass

def removeData(data):
    # データを削除する
    pass

def trashData(data):
    # データを破棄する
    pass

def clearData(data):
    # データを初期化する
    pass

def resetData(data):
    # データを初期化する
    pass

def destroyData(data):
    # データを破棄する
    pass

書き込み

def writeData(data):
    # データを書き込む
    pass

def saveData(data):
    # データを保存する
    pass

def storeData(data):
    # データを保存する
    pass

def outputData(data):
    # データを出力する
    pass

def exortData(data):
    # データを出力する
    pass

読み込み

def readData(data):
    # データを読み込む
    pass

def getData(data):
    # データを取得する
    pass

def loadData(data):
    # データを読み込む
    pass

def inputData(data):
    # データを入力する
    pass

def importData(data):
    # データをインポートする
    pass

検証

def checkData(data):
    # データを検証する
    pass

def testData(data):
    # データをテストする
    pass

def validateData(data):
    # データを検証する
    pass

def confirmData(data1, data2):
    # データを比較する
    pass

def verifyData(data):
    # データを検証する
    pass

許可

def allowChangeData(data):
    # データを変更する許可を与える
    pass

def disallowChangeData(data):
    # データを変更する許可を与えない
    pass

def acceptChangeData(data):
    # データを変更する許可を与える
    pass

def denyChangeData(data):
    # データを変更する許可を与えない
    pass

def revokeChangeData(data):
    # データを変更する許可を剥奪する
    pass

配列の命名規則

def getArrayDiiference(array1, array2):
    # 配列の差分を取得する
    pass

def getArrayIntersection(array1, array2):
    # 配列の共通項を取得する
    pass

def getArrayUnion(array1, array2):
    # 配列の和集合を取得する
    pass

def getFirstArray(array1, array2):
    # 配列の最初の項を取得する
    pass

def getLastArray(array1, array2):
    # 配列の最後の項を取得する
    pass

ダメな例

ローマ字

namae = "佐藤"
nennrei = "20歳"

値は複数なのに単数形

user = ["佐藤", "鈴木"]

意味がすぐ分からない単語

name = "佐藤" # 何の名前?
data = "佐藤" # 何のデータ?
# etc...

長い

# 🙅
def changeToString (data):
    # データを文字列に変換する
    pass

# 🙆
def toString (data):
    # データを文字列に変換する
    pass

オブジェクトの命名規則

# Userクラスと分かる
class User:
    pass

# 何のクラスか分からない
class Obj:
    pass

メソッドの命名規則

メソッド名は、そのメソッドが何を行うのかを明確に示す動詞または動詞句を使用することが一般的です。

# 合計金額を計算すると分かる
def total_price():
    pass

# 何を計算するのか分からない
def total():
    pass

定数の命名規則

# 一目で定数と分かる
MAX_SIZE = 100

# 定数かどうか分からない
maxSize = 100

ブール値を持つ変数の命名規則

# 真偽値を持つ変数と分かる
is_visible = True

# 真偽値を持つ変数かどうか分からない
visible = True

まとめ

良い命名規則は、コードの可読性と保守性を向上させます。
それぞれのプロジェクトやチームには、その特定の状況に最適な命名規則があるため、この記事の命名規則をそのまま使用する必要はありません。
最も重要なのは、一貫性を保つことです。

GitHubで編集を提案

Discussion