Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition) Excellent Book
Code Complete: A Practical Handbook of Software Construction