Sponsored links

Valid XHTML 1.0!
Valid CSS!
Product: Book - Paperback
Title: XSLT
Publisher: O'Reilly
Authors: Doug Tidwell
Rating: 2/5
Customer opinion - 2 stars out of 5
Scatter brained - not exactly accurate

This book is OK :( for an introduction XML, DTDs and XSLT. The information is scattered and not put together very well. A lot of information is also incorrect/inaccurate, be prepared to verify claims about mentioned products and technologies.

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: 5/5
Customer opinion - 5 stars out of 5
An Essential Reference

There are three books every Java programmer should have on his or her desk -- "The Elements of Java Style," "Design Patterns," and this book. Of the three, this is my favorite. "Elements" is excellent so far as it goes. It provides eminently sensible coding standards. There is a deeper sense of style that is addressed by the second pair of books. This has to do with the conceptual organization (or re-organization) of code. My only complaint against "Patterns" is that many of the examples are in Smalltalk, a language of more interest to academics than programmers. All of the examples in "Refactoring" are in Java.
The book falls into three parts -- introductory material, a catalog of refactorings, and guest chapters by refactoring reseachers. The first part sets the stage for the catalog. So, what is refactoring? It is "a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior." How do you know when to refactor? When the code smells bad. There is list of bad smells. These include duplicated code and long method.
The catalog itself constitues the bulk of the book. Each refactoring is named, described with a short summary, motivated (why should/shouldn't it be done), described with step-by-step mechanics for carrying it out, and illustrated with a simple example. An example is "Extract Method." This is appropriate where a segment of code requires a comment to understand what it's doing. Extract the segment as a method and give it an appropriate name. An appropriate name makes the comment superfluous.
A fundamental underpinning of this process is having good tests. Changes are made incrementally with tests at each significant step along the way. Tests must be automatic. As the author notes, JUnit (at www.junit.org) provides a suitable testing framework.
The last part of the book is largely guest material. Some is helpful, like Kent Beck's chapter "Putting It All Together" and some not so. That there is refactoring tool for Smalltalk is not terribly interesting if the chances of your programming in Smalltalk are nil.
On the whole, this is an excellent book. Knowing the techniques involved in refactoring can vastly improve the quality of existing code. Indeed, good programmers instinctively employ some refactorings as they code. Access to a fuller catalog than those instinctive refactorings is a boon.

Product: Book - Paperback
Title: Windows Forms Programming in C#
Publisher: Addison-Wesley Professional
Authors: Chris Sells
Rating: 5/5
Customer opinion - 5 stars out of 5
An excellent book

This book is really good. The main ideas of C# programing short and clear. By the way,this isn't a reffence book.

Product: Book - Paperback
Title: HTI+ Home Technology Integration All-in-One Exam Guide (All-in-One)
Publisher: McGraw-Hill Osborne Media
Authors: Ron Gilster, Helen Heneveld, Ron Price
Rating: 1/5
Customer opinion - 1 stars out of 5
"Authorized" is misleading

"Authorized" is misleading ---This book is an "authorized" training material, which signifies that it covers the content of the relevant certification exams. The accuracy and delivery of the content, however, have not necessarily been reviewed or approved by the certifying agencies.

A review of the Table of Contents (16 pages worth) leads one to believe this book (800+ pages worth) will cover it all and with great detail. From there to Chapter 4 (where I decided the book wasn't worth completing), it was mostly downhill. Here are some examples of what I found:

- terms not introduced or not introduced at the first use, and/or not identified in the glossary
- layout and delivery of information difficult to follow, repetitious of some information, while not including other pertinent information
- errors (bandwidth of Cat 5e cable listed at 200 Mbps (Table 1-5, pg 11) and at 100 Mbps (Table 4-2, pg 101))
- errors (pg 24: Chapter 1 test question # 4 directs to Table 1-2 rather than Table 1-3 to reference for answering)
- why?! (includes text, tables and figures with details on voltage/plugs/etc. used by other countries, yet is incomplete on the products used in the US)
- errors (pp 83-84: identifies the "minimum" bend radius for Cat5 to be 1 inch, while Figure 3-7 depicts the diameter)
- errors (pg 85: last paragraph refers to Figures 3-11 and 3-12, rather than Figures 3-9 and 3-10)
- errors (pg 93: Answer #1 is identified as "C, User Training Guide", but the answer text expands on "D, Wire Chart".

I highly recommend persons desiring the CompTIA HTI+ and/or CEDIA Installer I certifications, as well as those wishing to simply increase their knowledge base, look elsewhere for study materials.

Some of the information provided in this book may truly be of value (i.e. accurate and complete), however, with all the errors I've found, I am unable to rely on this book as a good resource.