Go の interface の語尾に "-er" を付ける事が多いのはなぜ？


Goのinterfaceの語尾に"-er"を付けることが多い事に理由はあるのでょうか？

例えばStringメソッドを持つStringerはStringable等の名前では無いことに、Goの思想はあるのでしょうか？




格納するデータの役割(Role)を明示する為ですが、golang では一般的に役割に er を付ける事が多いです。  
例えば Read 出来て、Close も出来るのであれば ReadCloser となります。  
ちなみに

<http://www.carlopescio.com/2011/04/your-coding-conventions-are-hurting-
you.html>

この記事に

  * the -er suffix
  * the -able suffix
  * the -Object suffix
  * the I- prefix

について書かれていますが、-able については当てつけっぽく実際何をやるのかが分かりづらい、-Object は MarshalByObject
等の様にバッティングの可能性がある、I- は List が IList じゃないのに矛盾してるよね、といった事が書かれています。




格納するデータの役割(Role)を明示する為ですが、golang では一般的に役割に er を付ける事が多いです。  
例えば Read 出来て、Close も出来るのであれば ReadCloser となります。  
ちなみに

<http://www.carlopescio.com/2011/04/your-coding-conventions-are-hurting-
you.html>

この記事に

  * the -er suffix
  * the -able suffix
  * the -Object suffix
  * the I- prefix

について書かれていますが、-able については当てつけっぽく実際何をやるのかが分かりづらい、-Object は MarshalByObject
等の様にバッティングの可能性がある、I- は List が IList じゃないのに矛盾してるよね、といった事が書かれています。

