プログラミング

bool変数名に迷ったら読む記事

bool変数の命名の重要性

プログラムを書くとき、bool型の変数名の付け方はとても重要です!
なぜなら、コードを読む人にとって、変数名からその役割が直感的に分かることが求められるからです。
bool値は真偽を表すので、適切な名前を付けることでコードが読みやすくなりますね!

bool変数の命名ルール

基本的なルールとして、bool値を表す変数名は「質問形式」や「状態」を表現するのが効果的です。
例えば、isActivehasErrorのように、「is」や「has」といったプレフィックスを使うと、変数が真偽を表すことが一目瞭然です!

具体例を見てみよう!

変数名の種類良い例 (Good Examples)悪い例 (Bad Examples)
ジャンプ状態isJumpingisJump
鍵の所持hasKeykey
攻撃可能canAttackisAttack
移動可能canMovemove
表示状態isVisiblevisible
開閉状態isOpenopen
完了状態isCompletedcomplete
アクティブisActiveactive
準備完了isReadyready
デバッグモードisDebugModedebugMode
ログイン状態isLoggedInloggedIn
接続状態isConnectedconnected
新しいアイテムisNewItemnewItem
アラート状態isAlertActivealertActive
満腹状態isFullfull
リロード状態isReloadingreloading
完全に修理済みisFullyRepairedfullyRepaired
警戒状態isAlertModealertMode
ゲームオーバーisGameOvergameOver
ミュート状態isMutedmuted
使用中isInUseinUse

良い例:

  • isCompleted: タスクが完了したかどうかを表します。
  • hasPermission: ユーザーが特定の権限を持っているかどうかを示します。

悪い例:

  • ~flag: true、falseのときにそれぞれどういった状態であるか推測できないためNGです。
  • status: 何の状態を表しているかが曖昧なので避けましょう。
  • isAttack: 日本語として考えた際に意味が通りづらい変数名は避けましょう。(良い例:canAttack, isAttackable)

よくある疑問: 変数名に否定形は使ってもいいの?

「否定形の変数名ってどうなの?」と疑問に思うこともありますよね。isNotValidのような名前は避けるのがベストです。肯定形のisValidに変えるだけで、コードの読みやすさが向上します!

命名に役立つヒント

  • 一貫性: プロジェクト全体で一貫した命名規則を使いましょう!
  • 短く明確に: 名前は短く、かつ明確にするのがポイントです。
  • レビュー: 他の開発者とコードレビューを通じて、変数名が理解しやすいか確認すると良いですね!
  • 日本語にしても意味が通るか: 付けた変数名が日本語にしてもちゃんと意味が通るか確認しましょう!

最後に

bool値の変数名は、コードの可読性を大きく左右します。適切な名前を付けることで、バグを減らし、他の開発者とスムーズに協力できるようになります。
ぜひ、この機会に命名規則を見直してみてください!

まとめ

C#でbool変数の命名は、コードの可読性やメンテナンス性に大きな影響を与えます。
質問形式や状態を表すプレフィックスを使うことで、変数の役割が明確になり、コードが読みやすくなります。
一貫した命名規則を守り、レビューを通じて改善を図ることが大切です!

  • この記事を書いた人

あるせ

上場ゲーム会社の現役プログラマーで1児の父です。 プログラミングを始めたい方向けのライトな記事からゲーム開発の現場で得た知見まで幅広く発信します!

PickUp

1

bool変数の命名の重要性 プログラムを書くとき、bool型の変数名の付け方はとても重要です!なぜなら、コードを読む人にとって、変数名からその役割が直感的に分かることが求められるからです。bool値は ...

2

記事文章 はじめに WordPressを使ってブログを運営していると、毎回アイキャッチ画像を設定するのが手間ですよね!今回は、アイキャッチ画像を自動で生成するプラグインの作り方をご紹介します。これで作 ...

3

はじめに インターネットの回線速度が気になることってありますよね!今回は、5分ごとに回線速度を計測し、そのデータをグラフにする方法を紹介します。PythonとSpeedtest CLIを使えば、比較的 ...

-プログラミング
-,