Used price: $4.95
List price: $15.00 (that's 30% off!)
Used price: $9.50
Collectible price: $14.95
Buy one from zShops for: $10.37
This book grabs the attention of the reader from the first page. It continues with explanations of several kinds of bears from different habitats. There is also a vocabulary review section in the back of the book, as well as an index.
This is an excellent non-fiction book that is a wonderful edition to any library.
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: $78.50
Used price: $131.79
Used price: $9.50
Buy one from zShops for: $9.97
Used price: $4.98
Collectible price: $19.06
Buy one from zShops for: $6.00
Used price: $68.35
Buy one from zShops for: $68.35
Used price: $7.75
Collectible price: $18.95
Buy one from zShops for: $10.24
Hence, in many contemporary classrooms, there is move away from the color-the-worksheet-on-the- life-cycle-of-the-tadpole technique, and an introduction OF a real-life tadpole into the classroom itself (which, arguably, has GOT to be more interesting).
So, OUT go the pictures of worms and grasshoppers, and IN come the real insects themselves. One problem: what to do with the lil' nippers (the animals, not the students) once the science lesson is over. In the past, most classroom animals and insects have either been released on the playground or given a "burial at sea" in the staff restroom after school is done for the day.
Not necessary now, thanks to Mr. Dunlap. Covering a VERY broad spectrum of living creatures, from ants and worms to much larger creatures like mice & turtles, Mr. Dunlap not only informs the reader how to humanely "reintroduce" the specimen into the wild, he also provides the reader with some even MORE important information: how to keep the animal/insect ALIVE while it's IN the classroom (what heating elements are best for what type of lizards, e.g., what moss is best for earthworms). THIS may, for some classrooms and students, be the major selling point of the book--how best to keep Timmy's prize salamander he found during recess alive during it's week in residence in the classroom without it getting sick or dying.
While written primarily for teachers and classrooms, it is by no means ONLY for these environments. Families with children who are curious about the natural world (and who frequently collect little "pets" from the back yard or garden--I had a friend who's 3 year old had a pet slug for two days) will find this book not only useful, but very educational as well.