Sponsored links

Valid XHTML 1.0!
Valid CSS!

Product: Book - Paperback
Title: SPSS 11.0 Guide to Data Analysis
Publisher: Prentice Hall
Authors: Marija J. Norusis
Rating: 5/5
Customer opinion - 5 stars out of 5

This book leads you step by step to understand the statistics very well

Product: Book - Paperback
Title: Data Mining Cookbook: Modeling Data for Marketing, Risk and Customer Relationship Management
Publisher: Wiley
Authors: Olivia Parr Rud
Rating: 2/5
Customer opinion - 2 stars out of 5
SAS Tutorial or Data Mining Book?

I was disappointed after reading 3 chapters of this book. Leafing forward, the book is saturated with SAS examples that I not only cannot understand but do not care about. It seems the whole book was written just to promote the (sold separately)...CD ROM with source SAS code. If you are going to write a SAS book, label it as such.

Product: Book - Paperback
Title: HTML & XHTML: The Definitive Guide, Fifth Edition
Publisher: O'Reilly
Authors: Chuck Musciano, Bill Kennedy
Rating: 5/5
Customer opinion - 5 stars out of 5
Pretty good reference book

I came here to find the second edition, since the original edition I have is obviously a bit out of date. I don't spend all of my time doing web pages, but I have a site that I have set up for our business, and I tend to hand-code most of it. When I want to figure out how to do something, I usually reach for this book. I usually don't read computer books from cover to cover, apparently some people do. If I want entertainment I read novels. I have shelves full of dummy and learn to program in 21 days books that sit on my shelves. I don't have 21 days to learn something new, I need the bottom line of how to do a certain task. Maybe there are better reference books, but this has been more than adequate for my purposes. The title has the word "guide" in it, which does not say "learn how to make megawebsites in 10 minutes." I think that people learn in different ways. If you need to look up the format or attributes of html tags, this is a great "guide." (Most of the dictionaries I have are pretty "dry" reading, too, but they are still useful sometimes! I also wouldn't pick up a dictionary to try to learn a new language, either, but I would want one while learning it.)

Product: Book - Hardcover
Title: Refactoring: Improving the Design of Existing Code
Publisher: Addison-Wesley Professional
Authors: Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
Rating: 4/5
Customer opinion - 4 stars out of 5
Recipes for improving code

Like the Gang of Four's landmark book _Design Patterns_, Fowler and his cohorts have created another catalog-style book, this time on refactoring.
Refactoring refers to taking existing, working software, and changing it about to improve its design, so that future modifications and enhancements are easier to add. _Refactoring_ is primarily a catalog of 70 or so different kinds of improvements you can make to object-oriented software.
Each entry in the catalog describes an implementation problem, the solution, motivation for applying the solution, the mechanics of the refactoring, and examples. The book's examples are all in Java, but C++ programmers should be able to approach the refactorings with ease. Often, Fowler diagrams the refactorings in UML, so a little Unified Modeling Language experience will help, too.
While the catalog is nice, the kinds of refactorings are obvious is most cases. Even moderately experienced programmers won't need the step-by-step mechanics described. The real benefit, though, is that the mechanics of each refactoring help guarantee that you can pull off the refactoring without introducing new bugs or side effects. They encourage you to take smaller, verifiable steps, than the more gross refactorings that most developers would naturally take. You actually save time doing so.
How do you know your refactorings are safe? Unit testing is the answer that Fowler et al. provide. Java developers will find the introduction to the Junit Testing Framework the most valuable part of the book, more so than the catalog of refactorings itself.
There's more to the book than the catalog and Junit, of course. There's discussion of the history of refactoring, how to evaluate refactoring tools, and how to convince management that what appears to be an overhead activity is actually useful in the long run.
Unfortunately, these sections are all too brief. And there is no discussion of how refactoring fits in with various software development processes. For example, programmers using Extreme Programming (XP) would probably feel right at home with Fowler's recommendations of refactoring in duets and unit testing, but developers stuck with a Software Engineering Institute process like PSP categorize testing as failure time and something to be minimized if not avoided. Cleanroom developers are taught that unit testing inteferes with metrics for quality, and that verifications are what should be done. Should such developers redo verifications after each refactoring? There's no answer in this book.
An unusual chapter, called "Bad Smells in Code," gives overall motivation for the refactorings. These vague notions, such as "long methods" or "lazy classes" humorously provide a foundation for starting your own refactorings. I say "humorously" because (mostly) Beck's and Fowler's odd analogies (classes becoming too intimate and delving in each others' private parts) provoke a chuckle (as if a chapter about "bad smells" in code weren't enough).
Overall, I've enjoyed reading this book and referring to the catalog while putting my own unit tests and refactorings into practice. Fowler's writing style is smooth and fluid, and it's easy to digest the catalog in no time. The book's typesetting is crisp, the figures quite clean, and both the refactoring index and "smell" index are enormously useful.