真偽値を返す関数名のつけ方の例です。
様々な意見があるので画一的な正解はありませんが、一定の基準にはなるでしょう。
はじめに
ここでは、関数名をあなた(=開発者)が自由につけられることを前提としています。
言語やライブラリ、フレームワークによる制約がある場合や、命名規則が定められている場合はそれに従いましょう。
記事中では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は動詞なので文法的におかしいです。
値を含むか確認する関数
値を含むかどうかを確認する関数の名前は、contains
、includes
、has
などとします。
たとえば、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
}