Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
169
Help us understand the problem. What is going on with this article?
@munieru_jp

真偽値を返す関数名のつけ方の例

真偽値を返す関数名のつけ方の例です。
様々な意見があるので画一的な正解はありませんが、一定の基準にはなるでしょう。

はじめに

ここでは、関数名をあなた(=開発者)が自由につけられることを前提としています。
言語やライブラリ、フレームワークによる制約がある場合や、命名規則が定められている場合はそれに従いましょう。
記事中ではJavaやJavaScriptにおける例を示しますが、他の言語においてもおおむね当てはまるかと思います。

中身が空か確認する関数

中身が空かどうかを確認する関数の名前は、isEmptyとします。

たとえば、JavaのListインターフェースにはisEmptyがあります。

final List<String> list = List.of();
if (list.isEmpty()) {
  // do something
}

このように、真偽値を返す関数の名前はis...とすることが多いです。
ただし、なんでもかんでもisをつければいいというわけではありません。

存在するか確認する関数

存在するかどうかを確認する関数の名前は、existsとします。

たとえば、JavaのFileクラスにはexistsがあります。

final File file = new File("./example.txt");
if (file.exists()) {
  // do something
}

たまにisExistのような名前を見かけますが、existは動詞なので文法的におかしいです。

値を含むか確認する関数

値を含むかどうかを確認する関数の名前は、containsincludeshasなどとします。

たとえば、JavaのListインターフェースにはcontainsがあります。

final List<String> list = List.of("munieru_jp");
if (list.contains("munieru_jp")) {
  // do something
}

また、JavaScriptのArrayオブジェクト(配列)にはincludesがあります。

const array = ['munieru_jp']
if (array.includes('munieru_jp')) {
  // do something
}

また、JavaScriptのMapオブジェクトにはhasがあります。

const map = new Map([['munieru_jp', 'https://qiita.com/munieru_jp']])
if (map.has('munieru_jp')) {
  // do something
}

~できるか確認する関数

~できるかどうかを確認する関数の名前は、can...とします。

たとえば、JavaのFileクラスにはcanReadがあります。

final File file = new File("./example.txt");
if (file.canRead()) {
  // do something
}

参考リンク

169
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
munieru_jp
江戸川区在住のアプリケーションエンジニア
decrements
We build nothing to not enhance software development.

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
169
Help us understand the problem. What is going on with this article?