Who am I?

I’m an Agilist, a former software engineer, a gamer, an improviser, a podcaster emeritus, and a wine lover. Learn more.

Currently Consuming
  • The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses
    The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses
    by Eric Ries
  • The Talent Code: Greatness Isn't Born. It's Grown. Here's How.
    The Talent Code: Greatness Isn't Born. It's Grown. Here's How.
    by Daniel Coyle
  • Alexander Hamilton
    Alexander Hamilton
    by Ron Chernow
« Letting the Past Be | Main | Link Roundup For 16 March 2011 »
Thursday
Mar172011

Wrestling Code Into Shape

I’ve been up to my eyeballs in code at work, which is both a good thing and a dramatic change of pace for me. My officemate and I have been untangling some code so that we can test it. To that end, I am indebted to the following books:

  • Refactoring by Martin Fowler. I first read this book almost ten years ago. It’s only in the last month I’ve gotten heavy use out of it.
  • Working Effectively With Legacy Code by Michael Feathers. I’ve read this more recently, and it accurately describes the situation I’m working in right now. It lays out remarkably useful, methodical processes for dealing with these sorts of hairy situations.
  • C++ Coding Standards by Herb Sutter and Andrei Alexandrescu. This has provided the vocabulary to describe to other developers what’s wrong with our existing code. I ended up writing an email today that said, “The problem with the current design is that it violate principles #5 (‘Give one entity one cohesive responsibility’) and #34 (‘Prefer composition to inheritance’).” And the person I sent it to completely understood.

Since I got back from skiing, my head has been full of code. I suspect that will continue for a few days yet. It’s good thing I enjoy it.

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>