What is the best way for a programmer to learn most efficient and common way to write code?
<blockquote>
  <p><strong>Possible Duplicate:</strong><br>
  <a href="http://stackoverflow.com/questions/82639/how-to-become-a-better-programmer">How to become a better programmer?</a>  </p>
</blockquote>



<p>As a programmer when you want to learn a programming language, you usually focus on syntax, language features, etc. </p>

<p>but knowing languages syntax in not important; the most important thing is the way of coding. simply the Programming Logic. obviously it is experimental and can't be formulated but some projects are similar in many aspects such as the class hierarchy, application layers, etc.</p>

<p>For example the Application layers a database application would have.</p>

<p>Or as another example to mention a more specific problem, which is the most common way to implement a multi-page application configuration wizard? designing individual forms, using inheritance, using control containers, etc. (I know it depends on the Application but there might be some similarities)</p>

<p>...anyway, what would you suggest to learn these things? books (I read many programming-how-to books but they're not enough to learn these things), open-source projects (in this case I'd prefer C#) or any other way you might think that is good.</p>
