Javaで覚える!at や is などの定型語で始める命名規則の考え方と使い分け

こんにちは。ゆうせいです。

新人エンジニアの皆さん、変数やメソッドの名前をどう付けたらいいか、迷ったことはありませんか?

「どんな名前が正しいんだろう…」
「命名に時間がかかってしまう…」

そんな悩みに応えてくれるのが、定型語(プレフィックス)を使った命名のルールです。

今回は atishas などの「意味を持った英単語から始める命名」について、Javaの実例とともにわかりやすく説明していきます。


なぜ定型語を使うのか?

命名はプログラミングの中でも最も重要な設計行為です。

読みやすく、誤解のない名前をつけることで、コードの意図が伝わりやすくなります。定型語を使うことには以下のようなメリットがあります。

メリット

  • 役割がすぐに分かる
  • 保守性が高くなる
  • チームで統一されたスタイルを保てる

よく使われる定型語とその使い方

では、さっそく具体例を見ていきましょう!


is:真偽値(boolean)を返す「状態」の判定

ルール

  • 戻り値が boolean のメソッドや変数に使う
  • 「〜か?」という問いを表す

Javaの例

public boolean isAvailable() {
    return stock > 0;
}

意味

「利用可能か?」を判定するメソッド

よくある使い方

  • isEmpty()
  • isEnabled()
  • isLoggedIn()

has:所有や条件の「有無」を判定する

ルール

  • boolean型の戻り値で、「何かを持っているか?」を表す

Javaの例

public boolean hasPermission(String role) {
    return userRoles.contains(role);
}

意味

「指定された権限を持っているか?」

よくある使い方

  • hasNext()(Iterator)
  • hasErrors()
  • hasAccess()

at:場所や時間を示すコンテキスト付きの状態

ルール

  • 変数名・プロパティ名に使う
  • "〜の時点で"や"〜の場所で" という意味

Javaの例

private LocalDateTime createdAt;
private String errorAtLine;

意味

「作成された時刻」「エラーが起きた行」

よくある使い方

  • updatedAt
  • startedAt
  • stoppedAt

時刻や履歴に関連する情報で多用されます。


get / set:値の取得・設定(アクセサメソッド)

JavaBeans規約に沿った命名

public String getUserName() {
    return this.userName;
}

public void setUserName(String name) {
    this.userName = name;
}

この形式を使うことで、Javaのライブラリやツール(例:Jackson, Spring)での自動処理にも対応できます。


can:能力や許可を表す(boolean)

Javaの例

public boolean canExecute(String action) {
    return permissions.contains(action);
}

よくある使い方

  • canDelete()
  • canEdit()
  • canAccess()

命名規則早見表(Java向け)

プレフィックス戻り値の型意味のニュアンス使用例
isboolean状態の確認isVisible()
hasboolean所有・条件の有無hasChildren()
atオブジェクト時刻・場所・履歴の情報createdAt, atLine42
get任意値の取得getId()
setvoid値の設定setEmail(String)
canboolean能力・許可の有無canWrite()

命名ミスのNG例

boolean login; // 何を意味しているか不明

改善案

boolean isLoggedIn;

実際の命名で注意したいこと

● ルールを統一しよう

→ プロジェクト内で isXxx()hasXxx() かを曖昧に使い分けない

● 名前だけで意図が通じるか確認しよう

→ 「この名前を見て、他人が意味を想像できるか?」

● プレフィックスに甘えない

→ 「isValid()」より「何がvalidなのか?」を具体的に書くとより良い
(例:isEmailValid()


今後の学習の指針

  • JavaBeansの命名規則を一度読んでみましょう(公式JavaBeans仕様
  • LombokSpringなどのライブラリがどう命名を扱っているか観察してみよう
  • チームで命名規則ガイドラインを作る経験をしてみよう
  • 英語の意味やニュアンスも同時に学べると、より洗練された名前が付けられるようになります

命名は「コードを書くこと」そのもの以上に、他人と協力する力につながります。
最初は難しくても、定型語のパターンを覚えるだけでグッと楽になりますよ。

もっと詳しい命名ルールやチームでのスタイルガイドの作り方が知りたければ、いつでも聞いてください!

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。