Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Extreme programming... in perl?

by knight (Friar)
on Jan 09, 2001 at 20:11 UTC ( [id://50699]=note: print w/replies, xml ) Need Help??


in reply to Extreme programming... in perl?

Like others, I've not been able to get any organization with which I'm involved to bite off on some of the more eXtreme aspects of XP, such as pairs programming. The aspects, however, that I've adopted for all my own projects are the testing+refactoring.

Amplifying on dws's comments above, once a project grows beyond a certain size, it's the fact that I have all of the unit tests as a regression test base that enables me to refactor effectively. Before becoming converted to writing the unit tests first, I'd always reach a point on a project where I knew that certain internal subsystems needed to be completely rewritten, but rewriting them was usually painful because it would take a lot of by-hand testing to try to make sure I hadn't broken anything. And even then, I'd often not discover that my laborious ad hoc testing still missed some end case until the code was in the field...

With a good set of tests created incrementally during development, I can refactor and know that I haven't broken an interface. And if the tests are still missing an end-case and a bug slips through the cracks, well, another test gets created when the code gets fixed, and that's another situation that's guaranteed never to cause a problem in the future.

This makes the whole development cycle more productive than I had ever imagined. Very powerful, and very addictive.

Replies are listed 'Best First'.
Re: Re: Extreme programming... in perl?
by cat2014 (Monk) on Jan 10, 2001 at 00:36 UTC
    I'll jump in here with a small comment about paired programming: it's awesome. Fortunately, my current work place really encourages it. I was kind of iffy about the whole idea at first, but I've changed my mind completely since I started seeing how much better my programming is when you combine two minds. You catch a lot of assumptions & get exposed to a lot of different ways of seeing things. One big bonus, too, is that a lot of different people become familiar with different areas of code. So if something breaks, you have a larger pool of people who can fix it.

    The only problems we've run into are that some folks type dvorak & some type qwerty- there are always pairs forming where only 1 person can actually type faster than 1 letter a minute on the keyboard being used. (;

      Buy USB keyboards and plug them both in. or alternate. USB makes me extremely happy these days. =)

      --
      $you = new YOU;
      honk() if $you->love(perl)

        i wish we could just do that!

        we use unix/linux/bsd- you use xmodmap to set qwerty/dvorak in those OSes. so you have to keep switching that way... in fact, i can't think of any OS in which you set qwerty or dvorak in the keyboard itself- all the ones i'm familiar with (mac, windows variations, *nix) set the keyboard mapping with software. so with your idea, we'd have two keyboards, but they would both be using the same mapping at the same time. not much help. (;

      actually we had the same problem with keyboard layouts until I discovered a solution...if you're using Windows as your workstation (I'm sure you can do the same thing for Linux workstations, too, I just don't know how) you can go into the Control Panel and hit the Keyboard icon. From there you can add new layouts from the Input Locales tab. So add either Dvokak or Qwerty depending on what you don't have.

      Once you're done, at the bottom of the "Input Locales" is a hot key selection which allows you to switch layouts on the fly on a per-window basis. So my partner and I often switch and hit Left Alt+Shift to switch between layouts on our terminal windows. It makes pair programming much easier.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://50699]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (5)
As of 2024-04-23 20:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found