CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Darrell Norton's Blog [MVP]

Fill in description here...

Review of Agile Software Development: Principles, Patterns and Practices by Robert Martin

Agile Software Development received rave reviews, winning the Software Development Magazine’s Jolt Award.  So I looked forward to some expert instruction from an object-oriented and agile veteran.

The sections on agile design principles were excellent.  The chapters on the single-responsibility principle, the open-closed principle, the Liskov substitution principle, the dependency-inversion principle, and the interface-segregation principle clearly described the principles, showed the problems that they helped fix, and then showed how to solve the problem with the principle.

The packaging principles were explained almost as well.  The principles were also explained, the problems were illustrated, and the package designs that solved the problems were shown.  The missing link was how the package design affected the code.

The first two case studies, the Payroll and Weather Station examples, also did a very good job of showing common patterns in use on an actual project.  Martin also showed how to back into a pattern from a simple design (as per Test Driven Development), which I found very interesting.

The code examples, however, were not so good.  They switched from C++ to Java.  While I am familiar with both, the back-and-forth switching produced a jarring effect that inhibited understanding.  The second case study was mostly C++ code from the early 90’s.  The rest of the code was created from 1998 through 2002.  Some of it was written test-first, much was not.

Overall the book was very good, but I was a little disappointed.  In the Foreward the author explains that parts of the book came from another book project and the rest was written over a five-year span.  It shows.

Check out more book reviews at the WeProgram.NET Book Review page.



Comments

Darrell said:

I think the packaging principles are solid, but I'm not exactly sure how to apply them. I asked here (http://dotnetjunkies.com/WebLog/darrell.norton/archive/2004/02/06/6741.aspx) and got no response. :(
# February 9, 2004 3:23 AM

David Hayden said:

Total day of fun in the sun. Grabbed my 2 daughters and the family canoe mid-morning and paddled out...
# May 20, 2005 3:26 PM

David Hayden said:

This post concludes my chapter-by-chapter review of Agile Software Development Principles, Patterns,...
# June 17, 2005 9:31 AM
Check out Devlicio.us!