Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Jolt Awards

Jolts 2007: Books Technical

Jolt Winner

Head First Object-Oriented Analysis & Design
B. McLaughlin, G. Pollice, and D. West
O'Reilly Media

Coleen Gorman, Associate Editor

Requirements analysis and application design are so crucial to what we do, it's no wonder that shelves of books have been written about the topic. What's shocking about Head First Object-Oriented Analysis & Design, by B. McLaughlin, G. Pollice, and D. West, is just how far it stands above that pack.

Here, in a hip, humorous, both-feet-in-reality package, are the essential skills and techniques you need to launch software projects right: How to boil your customer's words into usable requirements and use cases. How to be an architect without floating into ivory-tower la-la land. What principles drive a good design, and how to recognize when you're following them.

It's mostly done in the context of examples, which are messy and derived from repeated conversations with customers who aren't engineers and whose requirements change midstream (you know-like your projects). The examples are simple enough to be comprehensible, yet the authors find surprisingly rich lodes to mine-even in constructing an automatic dog door! The Head First style really shines here, throwing enough graphics and sidebars and exercises at you that your brain really can grasp the principles in the context of the current example.

Head First books are visual, personal, chock-full of exercises, and might appear downright silly if you just flip through one. Don't be fooled. There's serious neurological and learning theory behind the goofiness, and it's quite effective. I've been at this game for decades, and I kept smacking my forehead: "That's how you do that! I've always wondered!"

--Rick Wayne

Productivity Award

Code Quality
Diomidis Spinellis
Addison-Wesley Professional

A sound byte from Spinellis in Code Quality: "maintainability [is] a limited, non-renewable resource that application developers endow their code with." Well, think about it: Isn't that what usually happens to code-impacting the environmental by "rusting" out maintainability over time? Yet, his book is resolved to root out, from the beginning, a wide range of code plagues, paying careful attention not only to quality and how to prevent errors, but also to other areas such as efficiency with very practical ways to improve code without sacrificing elegance or reliability.

Each chapter concludes with several handfuls of hints. He calls them: "Advice to Take Home," which are dirt practical things you can do this afternoon to make your code hot. Spinellis gives you hundreds of insights into getting the best code out of the nonfunctional aspects of security, time constraints, space constraints, portability, and maintainability, plus a little foray into the tricky domain of floating-point math. Buy this book and be saved.

--Roland Racko

Productivity Award

Refactoring Databases
Scott W. Ambler and P.J. Sadalage
Addison-Wesley Professional

Refactoring Databases, by Scott Ambler and P.J. Sadalage, drags the task of manipulating databases into the agile, test-infected 21st century. Relational database manipulation exists in a weird netherworld of professional programming; it's part and parcel of every project, it's recognized by corporations as the repository of critical assets, it's got its feet firmly planted on the foundation of relational theory, and yet 90 percent of the discussion of database manipulation is "get a SQL reference." DDJ Contributing Editor Scott Ambler (don't worry, he recused himself from judging and discussions in the appropriate categories) and Pramod Sadalage is reminiscent of both Fowler et al. Refactoring, and the original "Gang of Four" Design Patterns, which are two pretty good books to be reminiscent of. The text is divided into several dozen specific refactorings, ranging from "Add CRUD Methods" to "Use Official Data Source," and each one contains both an instructional recipe and a thoughtful (and sometimes thought-provoking) discussion of the trade-offs and implications. Refactoring Databases is unquestionably worthy of a shelf spot near at hand.

--Larry O'Brien

Productivity Award

CSS: The Missing Manual
David Sawyer McFarland
O'Reilly Media

I am not a web design person, so when I opened David McFarland's CSS: The Missing Manual for the first time, I felt like I had entered a new world. This book got me excited because McFarland makes CSS and all of its nuances exciting. As a technical book, it is superb. The presentation is logical, lucid, and the topics incrementally build on each other. McFarland went to great effort to thoroughly explain each concept in text and graphical examples, and not to produce just another CSS reference manual-the result is a book that is almost effortless to read. In it you will find the best explanations of the Box Model and of "the Cascade" that I have read, plus negative margins, in-line block displays, and when to actually use tables-they are all here. If you are learning or working with CSS, you will value McFarland's tips on fixing the CSS bugs in all the major browsers, including the priceless gaggle of IE HTML hacks in each chapter. Don't miss this gem: It's a cover-to-cover read.

--Gary Evans

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.