1 / 14

Code Documentation

Code Documentation. Important!. It’s for you It’s for others. The Function Description. Describes what the function does for the user What resources are needed It should not need to state how this is done, just what is done. Function Side Effects.

maik
Download Presentation

Code Documentation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Code Documentation

  2. Important! It’s for you It’s for others

  3. The Function Description Describes what the function does for the user What resources are needed It should not need to state how this is done, just what is done

  4. Function Side Effects A side effect is anything that is a direct consequent of the execution of a function that is not a direct mapping of inputs to outputs (return values)

  5. Pre and Post Conditions • Preconditions • Preconditions state what must be true of the inputs to the function before a function is executed in order to guarantee the postconditions. • Postconditions • Postconditions state what will be true after successful execution of a function including all side effects given that the preconditions are met.

  6. Pre and Post Notes You may think of pre- and postconditions as setting up a contract between you (the programmer) and the user of your function. It is perfectly acceptable that there can be no preconditions on a function.

  7. Pre and Post Notes Preconditions should never contain obvious, irrelevant, or redundant statements. Most often you will find that preconditions will be a statement of the range of values a parameter may take on

  8. Pre and Post Notes When stating postconditions, be sure to include all pertinent information. Beware of reference parameters and other side effects. Don’t state what is not a result of the function being executed.

  9. Pre and Post Notes I CANNOT imagine “none” being a valid postcondition. If the function had no postcondition, then it’s pretty useless. All these comments should be placed just before the prototype of the function in question.

  10. Examples // Description: The greetings() function will output a message to the // screen greeting the user.// Pre: None// Post: Message output to the screen.void greetings (); // The cyl_vol() function will calculate and return the volume of the // right circular cylinder with base radius rad and height ht.// Pre: Both parameters, rad and ht, must be positive values.// Post: Volume of cylinder is returned.float cyl_vol (const float rad, const float ht); // The swap() function will swap the values of the arguments sent to // it.// Pre: none// Post: The values of the arguments sent will be swapped back in the // calling function.void swap (float & val1, float & val2);

  11. Examples // Description: The greetings() function will output a message to the // screen greeting the user.// Pre: None// Post: Message output to the screen.void greetings (); // The cyl_vol() function will calculate and return the volume of the // right circular cylinder with base radius rad and height ht.// Pre: Both parameters, rad and ht, must be positive values.// Post: Volume of cylinder is returned.float cyl_vol (const float rad, const float ht); // The swap() function will swap the values of the arguments sent to // it.// Pre: none// Post: The values of the arguments sent will be swapped back in the // calling function.void swap (float & val1, float & val2);

  12. Examples // Description: The greetings() function will output a message to the // screen greeting the user.// Pre: None// Post: Message output to the screen.void greetings (); // The cyl_vol() function will calculate and return the volume of the // right circular cylinder with base radius rad and height ht.// Pre: Both parameters, rad and ht, must be positive values.// Post: Volume of cylinder is returned.float cyl_vol (const float rad, const float ht); // The swap() function will swap the values of the arguments sent to // it.// Pre: none// Post: The values of the arguments sent will be swapped back in the // calling function.void swap (float & val1, float & val2);

  13. Examples // Description: The greetings() function will output a message to the // screen greeting the user.// Pre: None// Post: Message output to the screen.void greetings (); // The cyl_vol() function will calculate and return the volume of the // right circular cylinder with base radius rad and height ht.// Pre: Both parameters, rad and ht, must be positive values.// Post: Volume of cylinder is returned.float cyl_vol (const float rad, const float ht); // The swap() function will swap the values of the arguments sent to // it.// Pre: none// Post: The values of the arguments sent will be swapped back in the // calling function.void swap (float & val1, float & val2);

  14. End of Session

More Related