データを伝える

日時・件数・一覧の名前で、意味と単位を伝える

createdAt、orderCount、ordersは何を伝える名前か。日付と日時、秒とミリ秒、件数と配列を区別する命名例と確認手順を説明します。

更新:発行:NEW METHOD LLC

date、time、dataのような短い名前は便利ですが、何の日付か、値の単位は何か、データが一件か複数かまでは伝わりません。値を使う場面を想像し、読み手が推測しなくて済む名前を考えます。以下は命名案であり、既存のAPIやチームの規約がある場合はそちらに合わせてください。

日付と、ある瞬間の日時を分ける

誕生日や請求の締め日は、通常は暦上の日付として扱います。一方、ログインした瞬間には時刻も関係します。birthDateとlastLoginAtのように書き分けると意図を表せますが、AtやDateを付けただけで型やタイムゾーンが保証されるわけではありません。

日時を文字列でやり取りするなら、書式も取り決めます。RFC 3339では日時とUTCオフセットの表現が定義されています。たとえば2026-09-22T09:00:00+09:00はオフセットを含みます。変数名とは別に、APIの仕様や型で値の形式を共有することが必要です。

何の日付・日時かを区別する例
値の意味名前の案一緒に決めること
生年月日birthDate日付として扱う書式
最後にログインした日時lastLoginAtタイムゾーンと未ログイン時の値
期限の日時expiresAt期限ちょうどを有効とするか

数値の単位を名前に残す

timeoutが3000だったとき、3秒なのか3000秒なのかは数値だけでは判断できません。timeoutMsやtimeoutSecondsのように、名前で単位を示すと受け渡し時の確認がしやすくなります。金額も、円なのか別の通貨なのか、最小単位を整数で持つのかを決めます。

すべてを長い名前にする必要はありません。同じ単位しか登場しない狭い範囲では簡潔な名前でも読めますが、APIの引数や保存項目など、別の場所から利用される境界では単位を明示する価値があります。

// ミリ秒から秒へ変換する位置が読み取れる例
const timeoutMs = 3000;
const timeoutSeconds = timeoutMs / 1000;

一件・一覧・件数を区別する

注文一件ならorder、複数の注文ならorders、件数ならorderCountというように役割を分けます。orderDataだけでは、注文の配列なのか集計結果なのかがわかりません。型と名前を合わせて判断できる状態を目指します。

ページ分割された一覧では、いま表示している件数と、検索結果の総件数が異なります。orders.lengthをそのまま総件数として扱わないよう、totalOrderCountやvisibleOrderCountのように範囲も区別します。

注文一覧を表示する画面の命名案
名前の案表すもの注意したい違い
order注文一件未選択時の値を決める
orders取得した注文の一覧全件とは限らない
visibleOrderCount表示中の件数取得済みでも非表示の注文を含めるか
totalOrderCount検索条件に合う総件数ページ内の件数とは別に管理する

ツールへ渡す前に、対象と範囲を書き足す

CodePartnerで名前を考えるときは、「件数」から「検索条件に合う注文の総件数」へ、「日時」から「ユーザーの最終ログイン日時」へと入力を具体化します。候補が長くなりすぎた場合は、使う場所ですでに明らかな情報だけを省きます。

たとえばuser.lastLoginAtなら、userの中にあることから対象を判断できます。複数種類のログイン日時を同じ関数で扱うなら、userLastLoginAtのように対象を残す方が区別しやすい場合もあります。

  • 日付・日時・経過時間のどれかがわかるか
  • 単位とタイムゾーンを、名前以外の仕様でも確認できるか
  • 一件・配列・件数を混同していないか
  • 表示中の件数と総件数など、集計範囲が伝わるか

参照資料

RFC 3339 — Date and Time on the Internet
日時とUTCオフセットの文字列表現の参考資料です。変数名の接尾辞を定める規格ではありません。

CodePartnerの活用を考える

サービスの内容や利用前の確認事項は、使い方・活用ガイドで詳しく紹介しています。

CodePartnerの使い方・活用ガイド

あわせて読みたいガイド