Pro-Tip (Refactoring): Prioritize Reading Code

Pro-Tip (Refactoring): Prioritize reading the code over learning about the application domain. Not so long ago, I worked with a team that was hacking a humongous (>3mloc) perl codebase with their main focus being performance. I set out to show them that the crazy crap I was showing them about TDD and refactoring would be useful. The critical call was…
Read More

Pro-Tip (TDD): Focus on Our Branching Logic

TDD Pro-Tip: What we TDD most rigorously and faithfully is our branching logic. This is the insight one needs to start gaining TDD’s massive productivity benefit. All three terms are important, "our", "branching", and "logic", so let’s take them one at a time. Remember as we forge in to this: there is no free lunch, but if there were a…
Read More

Coding Well And Peopling Well

Working with people who don’t code very well is always a big anti-pairing boogeyman for folks, but working with people who don’t people very well is very much more difficult. Is there a skill-factor in pairing well? Sure there is: it’s the skill your mom invoked when she said, "Use your words, honey, use your words." The hardest pair partners…
Read More

Pro-Tip (Meta): Grasp the Judgment Premise First

TDD (Meta) Pro-Tip: Grasp the judgment premise by the horns and do not let it go, in every single one of these pro-tips. Here is the judgment premise, taken from Five Underplayed Premises Of TDD: "We happily rely on individual humans using their individual judgment." Imagine if there was a formulaic way to program computers. Imagine there was a procedure…
Read More