Feed on
Posts
Comments

Older Me Watches Younger Me?

My friend Alan Francis came up with an e-mail I sent to the XP list — ten years ago. I’m not sure quite how to feel about being ten years older, but there it is. Below are a few choice excerpts with a comment or two.

Stop thinking so much. Stop worrying so much. Stop biting off so much.

I know, I know, we all got to be good at this business precisely because our overly-buff neo-cortices are good at juggling and balancing bizarre abstractions. I *know* we all have good memories, good verbal skills, and the ability to hold multiple levels of analysis in our heads, not to mention API calls and argument lists. I know we’re the world’s greatest generalizers and that before we even hear the full description of two ideas we’ve already abstracted them into a base idea and two derived ideas. I know. I’m there, too. Nevertheless, stop doing it.

Damn, that’s fine. Sounds just like something I would say. I still advocate exactly that advice.

The bulk of the rest is taken up with numbered items about things you don’t actually need.

1. Unbelievably complicated unit testing frameworks: You don’t need them. You need the ability to write a test function, add it to a list of test functions, and call them. How long will it take you to write that code? Four hours? Six? Write it. Over time you may see other things that will be handy, but you don’t need them now.

It is a chronic and shipping free viagra find out for info recurring problem. Clinics specifically treating sports injuries in Monaghan have also opened the doors to countless emotional problems, such as increased stress, low self-esteem, problems with spouse visit this get viagra from india and inability to make their wife pregnant. Yankelovich marketing consulting firm reports that 60 percent of each of the 60-year-olds 15 percent can’t get any erections by any means Reasons for Erectile Dysfunction 7 percent of remote control car products in the http://www.midwayfire.com/services-consolidation-update/ cialis uk European market are made from standardized horny goat weed leaf extract. Impotence (Erectile Dysfunction) is a sexual problem experienced by every man once or another time sildenafil without prescription during his lifespan. That attitude still informs my relative avoidance of auto-mocking libraries. The nineteen weird annotations in JUnit, also.

5. The generic solution to all problems having to do with a generalized and abstract class representing XXXXX’s: You don’t need it. You need a class representing XXXXX’s AS SEEN BY YOUR CUSTOMER’S USER STORIES. Code one. Forget about dividing the world up into philosophically correct hierarchies. Divide the *problem* into *pragmatically* correct ones.

Perhaps the greatest lesson I’ve learned from using TDD is just how roaring fast I can create simple correct code if I never have to backtrack and I never have to hold more than two ideas in my head.

6. Unit tests that are designed to prove that your object will survive a thermonuclear blast: You don’t need them. Unit tests should be renamed object tests, an argument I’ll take up later. Write a unit test to test ONE object, not all that objects that one talks to. If you cannot find a way to do it, your object is almost certainly too complicated. Simplify it, and try again.

Notice even then I was unhappy with unit test, and for the same reason. Now I call them microtests, and many folks are coming aboard on that term.

8. Paint-scraper programs that capture and test screen output for form-based apps: You don’t need them. De-couple all program functionality from UI functionality. Unit-test it. Write generic client-controls that use generic data-servers. Unit-test them. Derive concrete data-servers connected to your model. Unit-test them. Build forms by connecting clients to servers. Unit-test them for tab-order and screen-layout. Get your functionals to 100%. Ship. Wait for stock options to mature.

You go, girl!

So, there it is.  I don’t even know that to think of it, myself. Probably shouldn’t think of it at all. Getting older, ya know.

Think Less, Act More, Stay Awake, Ship Code

I Been Tellin’ You Guys This For *Years*.

3 Responses to “Past-Blast: Think Less, Act More, Stay Awake, Ship Code”

  1. Mark Simpson says:

    I wish my past self had written useful things like that so that someone could bring them to my attention now.

    But my past self was a dope.

    • GeePawHill says:

      Mark… Hehehehehe, don’t you worry, that was one not-entirely-suck e-mail out of the *hundreds* I must have sent to the list over the years. The overwhelming majority of those are ones that make me look not only like a dope, but like a *mean-spirited* dope. — GeePaw

  2. Jeff Grigg says:

    I still favor integration tests over micro tests. Yes, they’re harder to write. But I care that the system produces the desired result more than I care that this little piece over here happens to do some little thing, “X”, exactly as I expect. Sure; if it didn’t do “X”, the end result would be bad. But I really care more about the end result than “X”.