皆様はこのような時、どのような命名をしますか?
クラスの命名のアンチパターン
Info って何やねん? Data って何やねん? ImageInfo って Image とはどう違ふねん??
という意見と同じで、基本的にはInfoという命名自体を極力避けます。
ただし、フレームワークでFileInfo クラスという命名がされている場合もあるので、この場合はFileInfoArray
やFileInfoList
など、コレクションの種類がわかる接尾辞を付けるのは次善の策としてはアリだと思います。
そうするとSaerchFileInfoListというようになり、複数のFileInfoを検索するというよりは、FileInfoのリストを検索するというニュアンスになる気がします。
まず、FileInfoList
と名付けたコレクションそのものがSearch
なりFind
なりのメソッドを持つべきだとは思いますが…その場合はFileInfoList.Search(key)
でkey
に一致するFileInfo
を検索する意味は伝わります。
やむを得ずFileInfoList
オブジェクトの外部に検索メソッドを定義する場合、SearchFileInfoFrom(FileInfoList, key)
でも同様の意味は伝わると思います。
逆にFileInfo
の中から何らかのkey
に一致するものを取得する場合、単にSearchFrom(FileInfo, key)
となるでしょう。取得するデータの種別に名前がついていたり、区別する必要があるのであれば、ここもSearchXXXFrom
でXXX
に適切な名前を入れても良いでしょう。(AttributeとかPropertyとか)
From
は無くても伝わるかもしれませんが、ここではメソッドがコレクションクラスに属していない前提のため、あった方が明示的に「ここから」という意味を伝えられると思います。
追記
上記回答で一点漏れてましたが
複数のFileInfoを検索するというよりは、FileInfoのリストを検索するというニュアンスになる気がします。
この言い回しが微妙に分かりづらいのですが、これが取得する対象の単複の区別の話だとすると、それは基本的にメソッドの戻り値で判別可能で、あまり神経質にならなくてもわかるハズです。利用者は、メソッドの名前だけでなくシグネチャ全体で判断できます。
戻り値が単一のFileInfo
なら1件のFileInfo
を取得するメソッドであるのは明らかだし、FileInfoの配列やコレクション
であれば複数件を取得するものだとわかります。
命名で差をつけるとすれば前者がFind(条件)
, FindOne(条件)
、後者がFindAll()
, FindBy(条件)
みたいな形が分かりやすいとは思いますが。
いずれにせよ、迷った場合は利用している環境のフレームワークや標準ライブラリの命名に寄せるのが一番伝わりやすいため、ここで挙げたものが全てではないですが。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。