boolean
型の変数名をどう付けるか? — 可読性を高める命名規則まとめ
目次
はじめに
プログラミングにおいて、boolean
型(真偽値型、真/偽を表す型)の変数名は、しばしば議論の対象になります。
true
/false
の意味が直感的に理解できる名前をつけることで、コードの可読性や保守性がぐっと向上します。
ここでは、boolean
型変数名の命名ルール・ベストプラクティスを整理し、良い例・悪い例を交えて紹介します。
命名の基本原則
boolean
型の変数名を考えるときは、以下のような考え方を意識するとよいでしょう。
- 変数名を見ただけで、
true
/false
の意味がすぐに分かるようにする - 「〜かどうか?」という疑問形を意識する名前にする
- 否定形(
not
、no
、never
などを含む名前)はできるだけ避ける - 命名スタイル(キャメルケース、スネークケースなど)はプロジェクトで統一する
以下で具体的な接頭辞・パターンと、それにまつわる注意点を見ていきます。
接頭辞・命名パターン例
一般に使われるパターンとして、以下のようなものがあります。
接頭辞・形 | 意味 | 例 |
---|---|---|
is + 名詞 / 形容詞 / 現在分詞 |
「〜であるか?」 |
isActive 、isVisible 、isPending
|
has + 名詞 |
「〜を持っているか?」 |
hasPermission 、hasVideo
|
コントロール系の助動詞 + 動詞の原形 | 「〜できるか」「〜すべきか」 |
canEdit 、shouldDisplay
|
動詞の三人称単数形 | 「〜するかどうか」 |
supportsVideo 、includesItem
|
例えば:
isActive // アクティブかどうか
isGameOver // ゲームが終了したかどうか
hasPermission // 権限があるかどうか
canEdit // 編集できるかどうか
shouldDisplay // 表示すべきかどうか
これらを使うことで、true
/false
の意味が明快になります。
悪い例 & なぜ避けるか
次のような名前は、意味が曖昧になりがちなので注意が必要です:
activeFlag
gameOverStatus
permissionValue
editMode
displayOption
なぜこれらが悪いかというと:
-
activeFlag
:boolean
かどうか不明 -
gameOverStatus
:status
が何を示すのか不明 -
permissionValue
:値なのか真偽なのか不明 -
editMode
:モードかboolean
か曖昧 -
displayOption
:表示のオプションか真偽か不明
こうした曖昧な名前は、コードを読む際に意味を推測せねばならず、可読性が下がります。
より良い命名のための注意点・ベストプラクティス
1. 否定形を避ける
!isNotFound
のように二重否定を生み出すリスクがあるため、名前に not
/no
を入れるのは控える方がよいでしょう。
例: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
型変数名は、「〜かどうか」が明快に伝わる疑問形命名がベストです。 -
is
、has
、can
、should
などを接頭辞とするスタイルは非常に有効です。 - 否定形や曖昧な命名は避け、読み手に過度な推測をさせないようにしましょう。
- プロジェクト内で命名ルールを統一することも大切です。