1. ホーム
  2. java

[解決済み] booleanを返すJavaメソッドの命名規則

2022-10-21 06:10:53

質問

私は他の言語ではメソッド名や関数名の最後にクエスチョンマークを使うのが好きです。Javaは私にこれをさせません。回避策として、Javaでブール値を返すメソッドに他の名前を付けるにはどうすればよいですか?以下のように is , has , should , can をメソッドの前に置くのは、場合によっては問題ないように聞こえます。このようなメソッドに名前を付けるより良い方法はありますか?

例えば、createFreshSnapshotのような?

どのように解決するのですか?

名前で質問するのが定石です。

JDKにあるいくつかの例を紹介します。

isEmpty()

hasChildren()

こうすることで、名前の最後にクエスチョンマークが付くように読み取れます。

コレクションは空ですか?

このNodeは子を持っていますか?

そして、次に true は「はい」を意味し false は「いいえ」を意味します。

あるいは、アサーションのように読むこともできます。

コレクションは空です。

ノードが子を持っている

注意してください。

時には、メソッドに次のような名前を付けたいかもしれません。 createFreshSnapshot? . クエスチョンマークがなければ、この名前は、スナップショットが必要であるかどうかを確認する代わりに、メソッドがスナップショットを作成する必要があることを意味します。

この場合、実際に何を求めているのかを再考する必要があります。 次のようなものです。 isSnapshotExpired のようなものは、より良い名前であり、メソッドが呼び出されたときに何を教えてくれるかを伝えてくれます。このようなパターンに従うことで、より多くの関数を純粋で副作用のないものに保つことができます。

もしあなたが Google検索 に対して isEmpty() をJava APIで検索すると、たくさんの結果が得られます。