Brownfield Application development in .Net is a book I wish I had on my bookshelf when I started programming 8 years ago.
Through a conversational tone, similar to pair programming, the authors expose both the simple and challenging aspects on not only how to work with a legacy code base, but how to start a new project ‘right’ from the beginning.
The book is cleanly divided into two sections, the first covers the organic processes of software development filled with proven practices and real world scenarios to drive points home. Also discussed are ways to communicate these ideas with your team, sponsors and customers, which is a commonly neglected topic in software development literature.
The second section shows practical code examples that clearly describe the necessary steps, techniques and designs to meet the ‘abilities’ of clean, maintainable code. Maintainability, Testability, Adaptability, Readability, Extensibility and Reversability. Another highlight is the constant referral of ‘back to the basics’ as described in the first section when some of the more challenging ideas are explained.
As with most software development books where you read once and maybe crack open again as you navigate backwards from the index, this book is one that will stay on top of your book pile.
Whether you have been programming for 30 years or a journey man, this book will be an invaluable resource.