Contract
Decide what kind of information the function needs from the
outside world, and what kind of information it returns to
the outside world. Ask the following questions:
- How many pieces of information (parameters) does it need to be
given in order to do its job?
- What kind(s) of information are the various parameters? (At
first, the only kinds of information we know about are numbers
and Booleans.)
- What kind of information, if any, does it return as a value?
I usually write the answers in the definitions window as a Scheme comment
in a standard format: for example,
; cube : number => number
would indicate a function named "cube" requiring a numeric
parameter and returning another number.
; area-of-ring : number (inner-radius), number (outer-radius) => number
would indicate that the function named "area-of-ring" expects
two numeric parameters, an inner radius and an outer radius (in that order),
and returns a number.
Last modified:
Wed May 30 11:48:56 EDT 2001
Stephen Bloch / sbloch@adelphi.edu