質問: Ruby on Rails を使っていて、モジュール名の末尾に `able` というサフィックスを見かけることがあります。どのような場合に、なぜこのサフィックスを付けるのでしょうか。 Put chubby models on a diet with concerns – Signal v. Noise 例えば上記のサイトでは次のようなコードが書かれています。 ![画像の説明をここに入力](https://i.stack.imgur.com/DSxor.png)
回答: RailsのConcernで使われるモジュール名はたしかに xxx-able となっているものが多いです。 実際僕もよく xxx-able という名前のモジュールを作ります。 が、これはあくまで慣習であり、規約ではありません。 なので、xxx-able以外のモジュール名にしても全く問題ありません。 一般論として、クラス名/モジュール名やメソッド名には「わかりやすい名前」を付けるのが原則です。 なので、たとえば「includeすると **タグが使える** ようになるモジュール」であれば、「タグが使える = Tag + able = Taggable」という名前を付けるとわかりやすい、ということになります。 ですが、絶対ではないので、Taggableよりも適切な名前があると考えるのであれば、別の名前を付けるのもアリです。 とはいえ、「Concernであればxxx-ableにする」というのがRailsの世界では「暗黙の了解」になっているので(個人的な観測範囲では)、よっぽど不自然な名前や意味がわからない名前にならない限り、xxx-ableにした方が他のRailsプログラマにとってもわかりやすいと思います。