Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
I'm studying it personally and professionally. (I'm reviewing the two new XP books for Slashdot and have spec'd a two article series, one of which deals with similar things.) My perspective is a little weird because it's half academic, half free-software-developer.

I'm using Test::Unit (with props to our own clemburg) and doing the test-first, refactor mercilessly, write and complete stories approach with the Perl Rogue project.

It's hard to gauge the whole XP thing with a single-man program, but it's promising so far. Writing unit tests before code is pretty different, but it's the only way I'd get good test coverage.

The one thing I've noticed so far is that the combination of writing stories (to describe self-contained bits of functionality) and coding only as much as you need to pass the current test and complete the current story is improving code clarity and development speed. I don't have to plan for three or four different things at once. When I do come back to existing code, it's easier to make it more flexible (if necessary) because I have a specific and immediate goal in mind.

It's also harder to break things without knowing it, because all of the previous unit tests that must pass before you're finished.

This makes bugfixing easier, too, especially with multiple people on a project. A couple of weeks ago, I fixed a bug in Everything, creating another in the process. Darrick fixed the bug I created, recreating the bug I fixed. If I'd written a test to detect the bug I'd found, Darrick would have noticed it and come up with the correct solution immediately. (As he's a smart guy, he picked right up on it before I brought it up. But this could have been much worse.)

Currently, I'm trying to introduce some XP principles into Jellybean development. Only time will tell how successful we are there. I'm not yet confident enough with Test::Unit to know how to write good tests for some of the hairier bits there.


In reply to Re: Extreme programming... in perl? by chromatic
in thread Extreme programming... in perl? by nop

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (5)
As of 2024-04-23 23:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found