[an error occurred while processing this directive]
Instructions for Implementation Specifications
Introduction
The implementation specifications for a module lay out implementation plans
to aid the implementors of the module.
They are primarily concerned with specifying the data structures that will
be used and algorithm descriptions for functions.
They also specify and describe algorithms for private functions that used
internally.
Client Specifications
This section just gives links to sections of the client specifications.
You can complete this section by filling in the module name in each of the
HTML links.
Implementation Data Model
For standard data structure implementations, this can be a short section,
just mentioning the type of implementation.
For other kinds of modules, this section should briefl describe the data
structures and sketch the algorithms for public functions.
Private functions should also be described, and the algorithm sketches for
public functions should indicate where the private functions are used.
Private Importing Information
This section should list the includes that are needed in the module source
code file.
Private Data Type Implementations
This section should give a detailed description of private data types used
in the module.
Where structs are used, their members should have a brief comment
describing their function.
Public Data Type Implementations
This section should give a detailed description of public data types used
in the module.
Where structs are used, their members should have a brief comment
describing their function.
Private Function Specifications
This section should contain precise specifications for each function that
is intended for internal use only.
Clarity, precision, and conciseness are important qualities to consider
here.
These quality factors are dependent on the design of the functions as well
as the words that you use to describe them.
Private Function Algorithms
This section should contain algorithm descriptions for each function that
is intended for internal use only.
It is convenient to mention parameter names and types at the beginning.
The description of complex algorithms should use pseudocode rather than
actual code.
Aim for a level of description that is intermediate between the client
specification and the code.
You check algorithm correctness by comparing client specifications and
algorithm descriptions.
You check code correctness by comparing algorithm descriptions and code.
If the difficulties of these two tasks are approximately equal then your
algorithm description is at the right level of detail.
Public Function Algorithms
This section should contain algorithm descriptions for each function that
is intended for use by a client.
It is convenient to mention parameter names and types at the beginning.
The algorithm description should use pseudocode rather than actual code.
Examples
[an error occurred while processing this directive]