Archive for the 'Book reviews' Category

Clean Code by Robert C. Martin

The book wastes no time, so right form the start you are introduced to some basic, but important aspect of what quality code is all about.

It starts out with naming conventions, how to right comments, error handling, refactoring, Unit testing and lots more. So the book covers a lot of ground and if you are looking to improve you developer skills, then I highly recommend it.

Another good thing is that, it is very well written and contains a good balance between theory and practice.

How ever, if you have already read books like

Code Complete by Steve McConnell
Refactoring by Martin Fowler etc.
Test Driven Development by Kent Beck

Then you probably wont learn very much from Clean Code.

Test Driven Development: By Example – By Kent Beck

I have had this book laying in my stack of books that I want to read for quite some time, so when I finally got around to reading it, I was really excited.

However, after reading it I felt a little bit disappointed, because I somehow had expected more.

If you wanted to, then you could probably sum up the content of book to a few lines (which some critiques seems to do).

  1. Add a test.
  2. Run test and see it fail.
  3. Make some changes.
  4. Run again and see it succeed.
  5. Refactor and start over.

The book doesn’t build on real world examples but instead shows how to get your mindset tuned in to start using TDD. It would have been nice with a set of best practices on naming conventions, how to write tests effectively, and where to put your test in your project. Every time I look at a new project, I often see it written in a completely different style than the last one.

If you are looking for a good and simple introduction to test-driven development, then this is the book. If you want something that explores the subject a little bit deeper, then should probably try to find another book.

However, I would recommend every developer to explorer the benefits that come with TDD, like higher quality in your code.

Refactoring: Improving the Design of Existing Code by Martin Fowler

You may or may not have heard the term Refactoring before, but it is a term that sometimes seems to be used loosely in software development, when someone wants to do something to the code. For good measure I have added the definition below.

“Refactoring: a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior.”
Martin Fowler, Refactoring

The book contains around 90 tips, with step-by-step description, on how you can refactor your code to become more robust and understandable.

The first few chapters start out with the basic techniques of refactoring and might be a bit tedious to read, not only because of the step-by-step guide but also if you already have some experience with refactoring code.

Even though I have been practicing refactoring for a couple of years, I still learned a few good techniques that I can put into my toolbox.

Besides all the techniques that are presented, Fowler has also written a couple of chapters on why you need to do refactoring. So, I would say that this is a must read for every programmer who wants to be serious about software development, it is a book that I will recommend for everyone.

Btw. If you are using Visual Studio like me, then you should get Resharper, which is a great tool that will help you do a lot of the techniques.

Next Page »