Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: Ways of commenting subroutines

by kal (Hermit)
on Mar 28, 2001 at 16:07 UTC ( #67800=note: print w/ replies, xml ) Need Help??


in reply to Ways of commenting subroutines

I like using pre- and post- conditions a lot of the time. The subroutine should say what it expects, and under what conditions you get a return value, etc. Something like:

sub add_one_to_number() { # add_one_to_number ($number) : takes a number, returns number + 1 # PRE1: number exists # POST1: we return the number plus one my $number = shift; if (! defined $number) { return undef; # fail PRE1 } $number++; return $number; # success POST1 }

Okay, Noddy example, I know. It marks out under what conditions the author expected to reach these areas. If there is a bug at all, either it's because there is a precondition that we haven't thought about, or we don't successfully reach the postcondition (i.e., incorrect code). Also, putting in carps and things helps you track better what's going on if you follow the PREs and POSTs.

It's one of the things that works for me, anyway :) (obviously, this is in addition to all the other comments and stuff you make!!)


Comment on Re: Ways of commenting subroutines
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (4)
As of 2014-09-24 04:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (245 votes), past polls