Differences between revisions 2 and 3
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Line 7: Line 6:
=== End-user documentation === == End-user documentation ==
Line 9: Line 8:
Line 13: Line 13:
Line 16: Line 17:
But first, to keep things simple, ignoring those instructions and XML for the moment, using your favorite text editor, create a text file containing the follow sections:
Line 17: Line 19:
But first, to keep things simple and ignoring those instructions and XML for the moment, using your favorite text editor, create a text file containing the follow sections:

==
=== Name =====
==
=== Synopsis =====
==
=== Description =====
==
=== Positional Arguments =====
==
=== Required Flagged Arguments =====
==
=== Optional Flagged Arguments =====
==
=== Example(s) =====
==
=== Reference(s) =====
==
=== Reporting =====
==
=== See Also =====
=== Name ===
=== Synopsis ===
=== Description ===
=== Positional Arguments ===
=== Required Flagged Arguments ===
=== Optional Flagged Arguments ===
=== Example(s) ===
=== Reference(s) ===
=== Reporting ===
=== See Also ===

Guidance on new program documentation and test

For newly created programs, some documentation and test work items should be created, to aid the end-user and future program maintainers. In creating these docs and tests, it is best to take off your 'developer' hat, and put on your 'end-user' hat, and then your 'maintainer' hat, to gain the view point of someone who has never seen or worked with your program. Your program is new to the end-user or maintainer, and nothing should be assumed about what they know about how it works.

There are three main work items to create: end-user documentation, maintainer documentation, and test code.

End-user documentation

The primary (and typically only) end-user documentation to create is text information like what you see in a unix 'man' page. In freesurfer, as of Feb 2011, the code in the dev tree and v5.1 branch supports putting 'man page'-like information in an xml file, which is then embedded into the .c/.c++/csh program and printed for you in a nice format (also supports automatic creation of a wiki page and pdf doc, TBD). Detailed instructions on how to do this are here. To see some nice examples of this help text output, type:

mri_convert --help

or for a simpler example:

mris_inflate --help

But first, to keep things simple, ignoring those instructions and XML for the moment, using your favorite text editor, create a text file containing the follow sections:

Name

Synopsis

Description

Positional Arguments

Required Flagged Arguments

Optional Flagged Arguments

Example(s)

Reference(s)

Reporting

See Also

Maintainer documentation

doxygen text

Testing

script that returns 0 for pass, non-zero for fail

NewProgramDocAndTest (last edited 2021-05-03 08:09:14 by DevaniCordero)