Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Keeping sharp and fresh

by dragonchild (Archbishop)
on Sep 22, 2005 at 12:48 UTC ( [id://494096]=note: print w/replies, xml ) Need Help??


in reply to Keeping sharp and fresh

It is less important to stay sharp in Perl in specific as it is to stay sharp in the arts of programming in general. For example, I've been exploring TDD over the past year and it's been making some fundamental changes to my programming style and expectations. TDD is applicable in any language, and I've been applying it to both Perl and JavaScript.

In the specifically Perl camp, I like reading TheDamian's code. His style stretches my understanding, whcih is the point, right?


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

Replies are listed 'Best First'.
Re^2: Keeping sharp and fresh
by wolfger (Deacon) on Sep 23, 2005 at 12:08 UTC
      Test-Driven Development. It's a practice that was made popular by XP (eXtreme Programming). The theory goes something like this:
      1. Start with no code and no tests.
      2. Write a test.
      3. Run that test and see it fail. (Remember, you have no code, yet.)
      4. Write the absolute minimum amount of code to pass the test.
      5. Run that test and see it pass.
      6. Check it into source control
      7. Goto #2

      At all times, your entire test suite should always pass, except for the one test that you're currently failing because that's the one specific piece of the spec that you're currently implementing. Whatever is in source control should always pass all the tests. Theoretically, you have 100% code coverage (as reported by Devel::Cover) because you never wrote a piece of code without having written the test for it first.


      My criteria for good software:
      1. Does it work?
      2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

Log In?
Username:
Password:

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

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

    No recent polls found