インターフェイスの命名規則
命名規則
インターフェイス
インターフェイスに対する命名規則を紹介します。その他にも trait
や abstract class
にも利用可能な命名規則です。
動詞 + -able
インターフェイスの振る舞いに該当する動詞に -able
を付けて、『○○ することができる』という名前を付けることがあります。
インターフェイスを実装したオブジェクトは、『○○ することができる』という振る舞いをすることが期待されます。
名前 | 意味 |
---|---|
IEnumerable<T> | 列挙することができる (foreach でループできる) |
IObservable<T> | 観測することができる (Reactive Extensions) |
名詞
インターフェイスを実装した際に期待される振る舞いが何かモノを指している場合にはその名詞をインターフェイス名として利用します。 インターフェイス名を名詞にした場合は、実装されるオブジェクト名には実装に関する情報が付与されることが多いです。
名前 | 意味 |
---|---|
IList<T> | リストの様に振る舞うオブジェクト |
IDictionary<TKey,TValue> | 辞書の様に振る舞うオブジェクト |
名詞 + Like
インターフェイスの振る舞いに該当する名詞を実装した class の側に利用したい場合には、インターフェイス側の後ろに Like
を付ける場合があります。
インターフェイス名に Like
を付ける場合は、実装されるオブジェクト名に名詞単体が付けられることが多いです。
名前 | 意味 |
---|---|
MapLike[K, V, This] | マップの様に振る舞うオブジェクト |
実装が先にあり、後からインターフェイスを追加する様な場合でなければ名詞のみを利用したほうが良いです。