title: Scala's naming convention for traits
body: <p>Suppose I have a <code>trait</code> in Scala</p>
  
  <pre><code>trait Connection {
  
    def init(name: String)
    def dispose
  }
  </code></pre>
  
  <p>And I want to create a class which implements it. But I want to name it as <code>Connection</code> also:</p>
  
  <pre><code>class Connection extends Connection {
    // ....
   }
  </code></pre>
  
  <p>It's not going to work. Of course, I could name <code>trait</code> something differently, but it turned out that the naming convention in Scala says that I should name trait as ordinary classes, meaning without any prefix, which I would use in C# (<code>IConnection</code> where  <code>IConnection</code> would be the <code>interface</code>). </p>
  
  <p>And in this particular case the name of <code>Connection</code> for the <code>class</code> and the <code>trait</code> is more suitable. </p>
  
  <p>Or did I miss something in Scala's naming convention?</p>