Trailing the Way in 2009

by Jeff Langr

March 26, 2009

I started reading a very recently published book. I don’t want to mention the name of the book, but it is a tome targeted at “application developers.” After reading a small number of paragraphs from the book, I had to check my calendar to see whether this was 2009 or 1995.

Some choice sentences from the book that just grabbed me right off the bat:

  • “Software applications should simulate (model) the real world with close affinity to the problem domain.”

  • “…the average developer should spend 40 to 50 percent of his or her time in design and not writing code.”

  • “Similar to comments and just as important [emphasis added], the design documents a program.”

  • “An artist does not start with a paintbrush and a canvas. There is considerable preparation before painting can begin. … Similarly, developers do not simply start writing code. The requirements analysis must be undertaken, a design drafted, the prototyping [emphasis added] of class operations, and only then, finally, the implementation.”

  • “The goal of TDD is simply to be a framework for addressing customer requirements with software through an iterative approach to testing and coding.”

[ All told, the author uses around 10 paragraphs in the book to describe TDD, not providing a single example. ]

For me, one of the most illuminating benefits of all this up-front emphasis on design seemed to be realized in the brilliant class diagram for a simple retail banking system. It looks something like:

Employee <|---- Teller  <------  Customer
                 |
                 |-- Manager

The power of the “real world” comes alive! This ingenious class diagram existed to support building the following code:

    static void Main(string[] args)
    {
        Customer cust = new Customer();
        cust.Teller = new Teller();
        cust.Deposit();
        cust.Withdrawal();
    }

Per the author, this code “validates” the design.

I’m speechless. (Well, no, I’m fingerless, or something. There must be a better word for being so flabbergasted that you can’t start to type a response.) I could rail on this book to no end, but it would only draw attention to the book (and you’ll note that I’m not providing a link to it either).

Comments

leebrandt March 26, 2009 at 01:37pm

well, now I’m going to be looking for the book, so I can avoid it and tell any junior/aspiring developers to avoid it….


Anonymous March 27, 2009 at 10:02am

a birdie told me it was a MS Press book


Share your comment

Jeff Langr

About the Author

Jeff Langr has been building software for 40 years and writing about it heavily for 20. You can find out more about Jeff, learn from the many helpful articles and books he's written, or read one of his 1000+ combined blog (including Agile in a Flash) and public posts.