title: Rule for GoLang Interface name and its number of methods
body: <p>Ones I had a discussion at work about correlation between interface name and number its methods. 
  In particular, there is an unwritten rule about an interface with postfix notation ending with <code>er</code> in its name.
  The rule says such an interface should have one method contained. </p>
  
  <p>Let's jump into an example. In the standard Go lang library, there is <code>Pusher</code> interface that does one thing "Push initiates an HTTP/2 server push". 
  Here is its definition:</p>
  
  <pre><code>type Pusher interface {
    Push(target string, opts *PushOptions) error
  }
  </code></pre>
  
  <p><a href="https://golang.org/pkg/net/http/#Pusher" rel="nofollow noreferrer">https://golang.org/pkg/net/http/#Pusher</a> </p>
  
  <p>Good example. However, some colleague defended his implementation that contained more than two methods with <code>er</code> in name's postfix.
  The main argument was that there are stdlib's interfaces that violates such a rule. He referred to interface <code>ReadCloser</code>. </p>
  
  <p>Looking at its definition:</p>
  
  <pre><code>type ReadCloser interface {
          Reader
          Closer
  }
  </code></pre>
  
  <p><a href="https://golang.org/pkg/io/#ReadCloser" rel="nofollow noreferrer">https://golang.org/pkg/io/#ReadCloser</a> </p>
  
  <p>I can say its wrong assumption. Interface embed in itself two other interfaces. How I interpret that? The rule is not violated.</p>
  
  <p>How will you interpret such a case?</p>