2
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の命名で「とりあえずisを付けるのはやめた方がいいのでは?」と感じた話

Last updated at Posted at 2025-12-31

はじめに

戻り値の型が boolean の関数について,「2値を返すのだから is を付けて命名しよう」と教わったことがあります.
私自身もこれまでその考え方に従って命名してきました.

しかし最近,関数名を考える中で「何でもかんでも is を付けると逆に読みにくくなるのではないか?」と感じるようになりました.

この記事ではboolean メソッドの命名について私が引っ掛かりを感じたポイントを整理したポエム記事です.

is が表す特性について

is は「状態・性質を表すときに使う動詞です.
そのため,以下のようにオブジェクトの状態や性質を表す関数名には違和感がありません.

  • isEmpty()
  • isValid()
  • isEnabled()

これらは「空であるか」「有効であるか」「有効化されているか」と自然に読めます.

一方で以下のように処理や動作を表す単語is を組み合わせると違和感を覚えました.

  • isUserExists()
  • isPermission()

is が状態を表す動詞であることを考えると,「存在するか」「権限があるか」といった意味を is で表現するのはやや不自然に感じます.

処理や動作を実行する関数でBooleanを使う場合

処理が実行できたかどうかを判別するために戻り値を用意している場合戻り値の型が boolean であっても,処理の正常終了・異常終了を表す目的で返している場合があります.

このようなケースで is を使ってしまうと関数名から「true が何を意味しているのか」を推察しづらくなります.

is は状態を問う印象が強いため,処理結果や可否を表す用途では命名と戻り値の意味が噛み合わなくなることがあります.

終わりに

is は状態・性質を表す動詞であるため,処理や動作を表す単語と結び付けると読みにくくなる恐れがあると感じました.

そのような場合は,

  • 所有や保持を表す has
  • 実行可能かどうかを表す can

といった動詞を適切に使い分けた方が、関数名と戻り値の意味が一致し読みやすくなるのではないかと感じました.

2
0
1

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
2
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?