Used price: $7.49
Buy one from zShops for: $12.50
Used price: $96.09
Buy one from zShops for: $96.09
If you aren't knowledgable about the stock market, you probably wouldn't understand a lot of it.
But if you are interested in the History of the Stock market, 5 stars isn't enough for this historical gem.
Used price: $1.50
Collectible price: $3.25
Buy one from zShops for: $3.50
Used price: $39.00
Buy one from zShops for: $39.90
The organization of this book is similar to that of "Design Patterns": introductory material that explains what refactoring is, how it works, and why it's important, followed by a catalog of refactorings that you can use in your programs. Fortunately, Fowler is a very entertaining writer, and "Refactoring" is much easier to read than "Design Patterns". Furthermore, many people, especially beginners, find it easier to see how to apply refactorings than patterns, and the book contains first-rate tips for identifying code that needs to be refactored.
If you write code, buy this book. Read it. Apply it. Your employers and your fellow programmers will thank you, and you will enjoy programming more.
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.
However, Fowler doesn't stop there. He presents rationales for refactoring (with an eye towards making a case to management) and much detailed, practical insight that comes from experience, but is rarely expressed so concisely and elegantly. I also appreciated the importance Fowler placed on unit testing; in fact, using unit testing makes refactoring happen much more quickly, and leaves you with a lot more peace of mind besides.
I read the book cover to cover and enjoyed nearly every page. The book has added a lot to my value as a developer, and was a lot of fun in the bargain. I don't think a whole lot more needs to be said. Just buy it, you can thank everyone who told you to later.
Used price: $37.50
List price: $14.95 (that's 30% off!)
Used price: $3.75
Collectible price: $3.98
Buy one from zShops for: $10.82
Used price: $34.72
Buy one from zShops for: $4.95
Dr Fowler researched extensively for this book from little known and altogether scares resources of material. However, all the resources that were available about the Buffalo Soldiers were used and cited accurately in this book. But, the MOST important plus about this book is the interesting stories about the Buffalo Soldiers daily life is told. From the dreary and wretched living conditions the soldier had to endure on a daily basis, to the evident discrimination that the African-American Buffalo Soldier had to endure, to the loyalty and bravery that the Buffalo soldier displayed from guarding a stagecoach run, laying miles of telegraph line, fighting fierce Indians, all these accounts and more are in this book.
I highly recommend this book to all who enjoy a great story and documentation about the little known Buffalo Soldier, the American West and fighting the Native Americans. A Great Read!