Gray's Matter
Justice Gray - North America's favorite metrosexual software consultant
E-mail Justice
Subscribe to this feed
Subscribe to comments
Perennially Popular Posts
How to write a presentation abstract
My grandmother, globalization, and what's wrong with DateTime.Parse
A letter to my Worldvision sponsor child
Development Methodologies for the 21st Century
My grandmother & the difference between strong typing and weak typing
How I am becoming a better developer, part 1 of infinity
Facebook RSS Feeds: How to Write Your Own With C#
The Ten Keys To Happiness
My grandmother and the Global Assembly Cache (And Star Wars)
My grandmother and the difference between processes and threads
How to make a meeting request
Why you should never be an independent consultant
The DasBlog 1.9 AJAX Autosave True Story, Part 2
Other "metro" developers
Ben Scheirman
Bil Simser
D'Arcy Lussier
David Woods
Donald Belcham
Donald Jessop
George Clingerman
James Kovacs
Jason Hunt
Jason Row
Jean-Paul Boodhoo
Jeffrey Palermo
Joey deVilla
John Bristowe
Jonas Avellana
Kyle Baley
Mack Male
Martin Hinselwood
Michael McClenaghan
Mike Duncan
Mike Friesen
Mo Khan
Otyce
RoboSapient
Russell Ball
Scott Hanselman
Scott Reynolds
Steven Rockarts
Tech Embassy
Terry Thibodeau
Tom Opgenorth
Vladimir Levin
The Justice Gray Fan Club
Amazing Mrs. Loquacious
Dr. Teeth
Facedown
Janey Lynne
Maxime Lamy
Ridley Thunder
Stan Woo
Vanilla Con
Wobbly*Bits
I Wish These People Updated More Than Once a Year
Anand Narayan
Jeff Perrin
<< Head First Design Patterns and the dark confession of a lifetime
The only recap of DevTeach 2007 that matters >>
Martin Fowler's Refactoring - the book that brought me *back to life*
(This is part 3 of my goal to
read 27 development books in 27 weeks
. Yes, I know this is out of the normal order, but trust me when I say all will become clear eventually.)
This blog was relatively quiet over the last two weeks; it was not because I was fending off advances from
Kathy Sierra
, despite what you might expect after
my previous post
. No, it was because yours truly had a
brush with *death*
that nearly took him out for good. That's right, I had a horrendous cold; runny noses, sneezing, congestion - it's a wonder I'm even here today, courageously telling my story of recovery. I'm not afraid of death (after all, long-time readers know the
kind of excitement that will ensue
when that happens), but if I were to shuffle off this mortal coil, who would finish
the 27 books in 27 weeks
? Who would become
375,000 pounds of ripped muscle by July 25th, 2007
? Who would be there to be that
motivating
force
for
Scott Reynolds
? More importantly, who would continue the long string of
Donald Belcham jokes
that have put
igloocoder.com
on the map? Thus, I struggled valiantly to recover but all seemed for naught...until I chugged 1 or 2 L of extra strength Neo Citran and opened up
Martin Fowler
's Refactoring.
"Refactoring" is not a book you read expecting to be angered, and its not a book you read expecting to have the room spinning around while your bed flies through the air. However, that's exactly what happened to me as I opened its pages and read the story of a scrappy young Martin Fowler and one of his many contracts. It turns out that Martin was on a project that required about 6 months worth of refactoring. Martin then brought this information to his superiors. Sadly, not even his terrifically groomed facial hair could convince his bosses that this was a priority. Martin's advice was ignored with a "There's no time, we're committed to schedule". One year later, the company in question ended up having to do a complete rewrite of the now unmaintainable software while Martin faced down a giant metal monster with a furnace for a mouth that was threatening all of New York City, or something like that; I don't really remember the minor details. C'mon, I was gravely ill! I'm just lucky to be *alive*!!
The rest of the book catalogs different code "smells" that creep up on a project (pretty much anti-design patterns) and then the various refactorings that can fix them. There's also a discussion of when to use refactoring and when *not* to use refactoring (yes, there are times). These come complete with other examples of engagements that Fowler had, including the time Martin solved the mystery of the Flying Dutchman and the Revolt on Dimentia 5. While I know this outs my inner geek, I have to say that even without some of these anecdotes, I still consider Refactoring to be riveting reading.
As I alluded to earlier, reading Refactoring made me angry. I'm not angry because I can't grow a 1970s style beard like Martin Fowler can; after some therapy I can safely say I've dealt with my lack of facial hair and put it past me. No, I became angry because some of what Fowler writes, to me, is *common sense*. Naming methods appropriately? Embracing code reuse? Come *on*! But I'm not angry at Martin - how can anyone be mad at this cherubic face?
No, Refactoring made me angry at our industry and its immaturity. The fact that so many projects produce code that *requires* so much refactoring boggles my mind. Have you ever met a developer who has managed to avoid working on at least one project that was coded incredibly poorly? I haven't. Why is this?
But forget about all that. You didn't read this review because you cared about Refactoring, or because you cared about making your project better. You read this review because
you cared if I felt better
. I can report that I do - and it's all thanks to this book. Before I started reading Refactoring, I was coughing, in fits of agony, and laying on my bed waiting to die. Two days after finishing Refactoring, my head was cleared up. My cold symptoms had vanished. In their place was a renewed sense of purpose. I felt faster...stronger...more ALIVE. What else could have caused this other than my reading Refactoring? Was my recovery from this cold merely coincidental? I don't think so. Yes, my friends,
reading Refactoring saved my life
. It can save your life too, and possibily the life of your project.
You might have noticed that this review is not dripping with the same sexual tension that...well, pretty much *all* of my
previous
book
reviews
have had. This doesn't mean the book isn't worth your money; every software developer worth employment should read at least the first chapter. It does mean that
Martin Fowler's resemblance to a 1970s porn star interferes with any level of arousal I would have
if I were not *firmly* heterosexual (and I am). My final rating therefore breaks down like this:
Refactoring catalog - *****
Anger-provoking development tales - *****
Story about Martins battle with Dr. Noah Boddy - **********
Martin's lack of hair and giant beard - MINUS **
Total score - 4.5. This has hopefully taught everyone a couple of valuable lessons:
Cold medication can make any book better
If you have facial hair you will *NEVER* be perfect
. Sorry Martin - once you shave I will change my rating to 4.8 stars. Besides, no one likes kissing guys with facial hair, except for Donald Belcham! Trust me, Martin - quit hiding behind that mass of facial fuzz and let the world see as you truly are. If you follow my advice you will never have to worry about "getting some" again!**
* There was actually *another* reason I was near death, but you'll have to tune in next week to find out the answer
**Well, in truth Martin doesn't have to worry about that now as
David Woods
still wants to make out with him
, but I'm talking about *women*!
Thursday, May 17, 2007
Comments [3]
BookReviews
|
Technical
|
Tracked by:
"How I am becoming a better developer, part 1 of infinity" (Gray's Matter)
[Trackback]
"Applying UML and Patterns: They can't all be winners" (Gray's Matter)
[Trackback]
"A book that everyone needs: Working Effectively With Legacy Code" (Gray's Matte...
[Trackback]
5/21/2007 3:21:53 PM (Mountain Daylight Time, UTC-06:00)
Week #1: Applying UML and Patterns -- this was a re-read but a well needed one, done
Week #2: Beyond Code -- not impressed, done.
Week #3: Head first design patterns - started
Corey G
|
linuxisgodAT NOSPAMgmail dot com
5/21/2007 3:49:09 PM (Mountain Daylight Time, UTC-06:00)
Corey!! I am amazed you were unimpressed by Beyond Code. You definitely will be impressed by Head First Design patterns. At least I hope! What kind of man doesn't get impressed by Beyond Code?
Applying UML and Patterns - ah, that'll wait for its own review. ;)
Justice~!
5/29/2007 10:57:39 PM (Mountain Daylight Time, UTC-06:00)
NerdRoom@WAKEUP.com
Many Nerds won't be returning. Some old timers I remember from last year, people like Trenchcoat Mafia, Silk Dragon Shirt, probably won't be coming back next year.
Spamming blogs I put their names up, immortalizing them, if only until the blog owner erases everything::::
1. Trenchcoat Mafia
2. Silk Dragon Shirt
3. The Distinguished English Gentleman
4. Beta Nerd, and of course
5. Rosie The Transsexual
Rosie's original name was just Rosie, due to his rosie cheeks. They shared he has a high level of knowledge, a tactic the gods employ to create a false sense of security. This of course is the segment which they dump so many transsexuals into.
I too enjoy irony, and therefore Rosie has now become Rosie The Transsexual.
Who else has a nickname in the NerdRoom?
I'd like to remind you many of the people in the NerdRoom are good men. I hope this is reflected in what they are allowed to learn and the progress they're allowed to make.
I'd also like to remind you their predecessors, REAL nerds from a generation ago who fill the computer swap meet, are WONDERFUL men, and since I likely won't be going again I want to remember them as well.
Actually the comparison of the two is a testiment to the devolution of society, which will be used as justification for the Apocalypse:::
Today's nerds are NOT wonderful men. They grew up with the internet and many consider pornography as an acceptable vice. They gamble freely, enjoy evil imagry in video games, and this issue is a microcosim of our deterioration.
NerdRoom@WAKEUP.com
|
NerdRoomAT NOSPAMWAKEUP dot com
Name
E-mail
Home page
Remember Me
Comment (HTML not allowed)
Enter the code shown (prevents robots):
Justice Gray
: a seething cauldron of rampaging masculinity. A fighter! A brother! Your
secret lover
! He's also a software development consultant and the Vice President of the
Edmonton .NET user group
. He also greatly enjoys speaking about himself in the 3rd person.
Gray's Matter Archives
Recent Posts
Controversy clarifications!
The most controversial interview of ALL TIME
Finally! The *winner* of the "What Justice Gray Means to Me" contest
The mystery of D'Arcy Lussier's ASP.NET MVP is solved...
Well, now that's pretty horrifying
MVPs on MVC: "No, we don't have any idea either"
Why I am happy to not be at the MVP Summit
Donald Belcham's cry for help: MS MVPs, your attention is needed
ALT.NET Pursefighting revealed
Test, please ignore!
Change yourself, change the world: a great week 4
Post Categories
BookReviews
Conferences
DasBlog
EDMUG
Goals
HanselmanQuestions
HotDeveloperCorner
ILiveToInform
Leadership
Mac
OtherGrayAreas
Personal
Productivity
Ruby
Suresh
Technical
Transformers
Vancouver
Wii
<
July 2008
>
Sun
Mon
Tue
Wed
Thu
Fri
Sat
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
Sign In