データを伝える
日時・件数・一覧の名前で、意味と単位を伝える
createdAt、orderCount、ordersは何を伝える名前か。日付と日時、秒とミリ秒、件数と配列を区別する命名例と確認手順を説明します。
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の使い方・活用ガイド