0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【随時更新】個人的な変数の命名方法メモ

Posted at

はじめに

変数名の命名方法についてはネット上にも溢れかえっているし、各社のコーディングルールで定められている場合も多いだろう。
納得できる部分も多いし、そこから学んだことも多いが、今後の自分の命名方法を統一するためにも本記事にまとめてみる。
あくまでも個人の意見であり、今後の経験によって考えが変わる部分もあると思うが、それはその都度更新することにする。

なお、既にルールとして定められている命名規則があればそちらに従うべきである。
仮にその命名規則に違和感があってもチームの共通認識のほうが重要だ。
どうしても耐え難いものである場合は、改善提案として挙げてチーム内で議論する。

考え方

何のための変数なのか、適切な英名を付ける。
他人が読んでも理解できるようにするのはもちろんのこと、誤字脱字の防止のためにも辞書を引いたり翻訳サービスを利用するのが良いだろう。
その変数がどんな形式の値を保持しているのか(数値、文字列など)を一目でわかるようにする。
具体的な型自体はIDEの機能でマウスカーソルなどを合わせると表示されることが多いが、一目でわかるというのはソースを読む側からしてみれば大きなメリットとなる。

英名を考えるときには各種辞典サイトや、Google翻訳やDeepLなどの一般的な知名度がある翻訳サービスの他にも、codicというサービスもある。
こちらはエンジニア向けと謳っているだけあって、より変数名・メソッド名らしく翻訳してくれるのでおすすめだ。

変数名の命名規則

以下に、形式ごとの具体例を記載する。

数値

  • numcntを末尾につける。
    cntはカウントアップや上限などの「回数」を保持するイメージ。
    その他は基本的にnumを付ける。

numはnumeric(数値)とnumber(番号)どちらの意味もある。
英語としては異なるが、変数名としては纏めてしまって良いと考える。

retryLimitCnt // リトライ上限回数
weekdayNum //週番号

真偽値

  • isを先頭につける。
    基本的にこの形がベター。
  • hascontainsを先頭につける。
    何かを持つ、含むといった状態を表現する変数であればこちらを使用する。
  • existsを末尾につける。
    存在するかを表現する変数ならこちら。
  • canを先頭につける。
    可能であるかを表現する変数ならこちら。

結論、どんな時にtrue/falseになるのかが分かれば良い。

flagとつけるのは避けるべき。
フラグであることは分かっても、真偽の解釈が逆転してしまう可能性がある。

isValid // 有効である
hasToken // トークンを持っている
userExists // ユーザーが存在する
canWrite // 書き込み可能である

文字列

  • str,nameを末尾につける
    他の形式と紛らわしい場合にだけでも良い。
    userIdなど、そのままで文字列が入っている変数だとわかるなら特に付け足す必要はない。
dateFormatStr // 日付フォーマット用文字列
columnName // カラム名

日時

  • DateTimeを末尾につける。
    日付と時刻のどちらも保持するのであればこの形。
  • DateDayを末尾につける。
    日付のみであればこちら。
  • Timeを末尾につける。
    時刻のみであればこちら。
nowDateTime // 現在日時
targetDate // 対象日付
authTime // 認証時刻

その他

配列ならarray、リスト構造ならlist、マップ構造ならmapのように、何が入っているのかが分かる単語を末尾につければ良いと考える。
独自クラスならクラス名をそのまま変数名にしてしまっても良いだろう。

よく使う & 忘れがちな単語集

個人的によく使うものや、意味やスペルを忘れがちな単語を下記に纏める。

セットで使う単語

単語① 単語② 意味① 意味②
from to ~から ~まで
first last 最初 最後
min max 最小 最大
start 1 stop 開始 停止
start 1 finish 開始 完了
begin 1 end 開始 終了
previous next
before after 以前 以後
open close 開く 閉じる
success fail 成功 失敗

単体で使う単語

単語 意味
authentication 2者間認証
certification 3者間認証
bulk 一括
type 種類、区分
current 現在の
  1. start、beginとstop、finish、endの違いについてはこちらのサイトが参考になる。 2 3

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?