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?

boolean型の変数名をどう付けるか?

Posted at

boolean 型の変数名をどう付けるか? — 可読性を高める命名規則まとめ

目次

  1. はじめに
  2. 命名の基本原則
  3. 接頭辞・命名パターン例
  4. 悪い例 & なぜ避けるか
  5. より良い命名のための注意点・ベストプラクティス
  6. 実践例:変数名改善前後
  7. まとめ

はじめに

プログラミングにおいて、boolean 型(真偽値型、真/偽を表す型)の変数名は、しばしば議論の対象になります。
truefalse の意味が直感的に理解できる名前をつけることで、コードの可読性や保守性がぐっと向上します。

ここでは、boolean 型変数名の命名ルール・ベストプラクティスを整理し、良い例・悪い例を交えて紹介します。


命名の基本原則

boolean 型の変数名を考えるときは、以下のような考え方を意識するとよいでしょう。

  • 変数名を見ただけで、truefalse の意味がすぐに分かるようにする
  • 「〜かどうか?」という疑問形を意識する名前にする
  • 否定形(notnonever などを含む名前)はできるだけ避ける
  • 命名スタイル(キャメルケース、スネークケースなど)はプロジェクトで統一する

以下で具体的な接頭辞・パターンと、それにまつわる注意点を見ていきます。


接頭辞・命名パターン例

一般に使われるパターンとして、以下のようなものがあります。

接頭辞・形 意味
is + 名詞 / 形容詞 / 現在分詞 「〜であるか?」 isActiveisVisibleisPending
has + 名詞 「〜を持っているか?」 hasPermissionhasVideo
コントロール系の助動詞 + 動詞の原形 「〜できるか」「〜すべきか」 canEditshouldDisplay
動詞の三人称単数形 「〜するかどうか」 supportsVideoincludesItem

例えば:

isActive       // アクティブかどうか
isGameOver     // ゲームが終了したかどうか
hasPermission  // 権限があるかどうか
canEdit        // 編集できるかどうか
shouldDisplay  // 表示すべきかどうか

これらを使うことで、truefalse の意味が明快になります。


悪い例 & なぜ避けるか

次のような名前は、意味が曖昧になりがちなので注意が必要です:

activeFlag
gameOverStatus
permissionValue
editMode
displayOption

なぜこれらが悪いかというと:

  • activeFlagboolean かどうか不明
  • gameOverStatusstatus が何を示すのか不明
  • permissionValue:値なのか真偽なのか不明
  • editMode:モードか boolean か曖昧
  • displayOption:表示のオプションか真偽か不明

こうした曖昧な名前は、コードを読む際に意味を推測せねばならず、可読性が下がります。


より良い命名のための注意点・ベストプラクティス

1. 否定形を避ける

!isNotFound のように二重否定を生み出すリスクがあるため、名前に notno を入れるのは控える方がよいでしょう。
例:hasNoValues より hasValues、否定は !hasValues に。

2. ポジティブな名前を使う

肯定形(positive)で命名することで混乱が減ります。
例:isEnabled の方が isDisabled より分かりやすい。

3. デフォルト値を false で扱える設計にする

boolean 型フラグは、未指定時に false となるような命名設計を心がけると安全性が高まります。

4. プロジェクト内で命名規則を統一する

接頭辞、動詞の使い方、語順などを揃えておくことで、コード全体の理解性が向上します。

5. 英語文法・語感にも配慮する

慣習に即して不自然な接頭辞の使用を避けましょう(例:isExist より exists)。


実践例:変数名改善前後

用途 悪い名前 改善後
ユーザがログインしているか userStatus isUserLoggedIn
ファイルに書き込み可能か fileWritable isWritable または canWrite
リストに要素があるか listFlag hasElements
メッセージ表示すべきか showFlag shouldShowMessage
全ユーザがアクティブか allActive areAllUsersActive または isEveryUserActive

これらの改善により、コードを読む人は “true のとき/false のとき” を即座に想像できるようになります。


まとめ

  • boolean 型変数名は、「〜かどうか」が明快に伝わる疑問形命名がベストです。
  • ishascanshould などを接頭辞とするスタイルは非常に有効です。
  • 否定形や曖昧な命名は避け、読み手に過度な推測をさせないようにしましょう。
  • プロジェクト内で命名ルールを統一することも大切です。

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?