Adaptive Code via C: Agile coding with design patterns and SOLID principles
For anyone who is serious about writing good, clean code that is adaptive this book is a must. Even though the book is written for C# programmers, any programmer who needs to learn agile coding using design patterns and SOLID principles will find this book of great value.
The book is partitioned into three sections. Part 1 provides you with a foundation into agile software project management using Scrum. Then you learn about programming with dependencies and layering, before you move on to reading about interfaces and design patterns. This part finishes with a look at unit testing and refactoring.
In Part 2 you are guided through the process of writing SOLID code. There are eight chapters in all in Part 2. These chapters cover the single responsibility principle, the open/closed principle, the Liskov substitution principle, interface segregation, and dependency injection.
You then move on to Part 3 which guides you through the initial phases of developing an adaptive software product over two sprints. Using a fictitious team and project, chapters 10 , 11, and 12 describe the conversations the team members have and the decisions they must make along the way.
You can find the code samples on GitHub. The code examples reflect a selection of some of the patterns and practices that were covered in Parts 1 and 2. Not everything is covered, but some of the more common implementation questions are answered.
All-in-all a very good book, and one that is easy to read from cover-to-cover.
XNA 4.0 Game Development By Example authored by Kurt Jaegers is an excellent book for anyone who wants to learn XNA 4.0 games development. As you work through the book you develop some games including Flood Control, Astroid Belt Assault, Robot Rampage, and Gemstone Hunter.
This book comes in two versions one for Visual Basic .NET programmers, and the other for C# programmers. The good thing about this book is that it is very easy to read, and the examples are easy to follow. For anyone new to games programming this is a good place to start
HTML Utopia: Designing Without Tables Using CSS (Build Your Own) by Dan Shafer is a practical step-by-step guide to building attractive websites using CSS in place of tables. I have used this book to learn CSS when I was working for a UK company to redevelop their website. The content of this book is very useful, and I find that it is a very good book to have on your desk when doing web development. The book comes with sample source code that you can download from the book’s website. You may find that having a simple grasp of writing HTML is useful when reading this book.
I highly recommend the Head First series of books for anyone needing to learn maths, science, or computer programming. The books are different to normal text books as they are highly visual and provide a good level of humour. The designers of the Head First series have put a lot of time and effort into understanding how our brains work, how they take in information, and the kind of information that our brains store. Based on this research the books in the series are designed to be interesting, fun, and engaging. I find the books on Java, Software Development, and Design Patterns particularly interesting. If you haven’t done so already, your are recommended to read them for yourselves and see how much more you learn from such books when compared to dry academic text books that take you to the point of falling asleep after the first few pages.