Jeff's Blog

Musings about software development, Java, OO, agile, life, whatever.


Thursday, March 26, 2009 
Trailing the Way in 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:
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....
 
a birdie told me it was a MS Press book
 
Post a Comment

Links to this post:

Create a Link



<< Home

RSS Feed (XML)

Archives

February 2004   March 2004   May 2004   September 2004   October 2004   January 2005   February 2005   September 2005   October 2005   November 2005   December 2005   January 2006   February 2006   March 2006   June 2006   August 2006   January 2007   February 2007   March 2007   April 2007   September 2007   October 2007   November 2007   December 2007   January 2008   February 2008   March 2008   April 2008   May 2008   June 2008   July 2008   August 2008   September 2008   October 2008   November 2008   December 2008   January 2009   February 2009   March 2009   April 2009  

This page is powered by Blogger. Isn't yours?