blob: 7228b8f142021c82479761410cab56a188501893 [file] [log] [blame]
.. _typedefs:
Type Definition Documentation
#############################
The documentation of type definitions, typedefs for short, is a simple
yet tricky matter. Typedefs are aliases for other types and, as such,
need to be well documented. Always document typedefs even if the
complex type it uses is documented already.
Type Definition Comment Template
********************************
Typedefs require a simple comment explaining why they are being used and
what type they are referencing.
.. code-block:: c
/** Brief description with the type that is being used and why. */
typedef int t_ie;
No further explanation is needed regarding the type even if it is complex.
Each complex type must be documented whereever it was defined.
Doxygen connects the typedef and the complex type it uses automatically.
Type Definition Documentation Example
*************************************
Correct:
.. literalinclude:: irq_test_common_commented.h
:language: c
:lines: 69-73
:emphasize-lines: 1, 3, 4
:linenos:
Lines 1 and 4 name the type that is being used and with what purpose.
Even if the purpose is the same, since the types are different, two
comments are needed. Leaving line 3 blank not only increases
readability but it also helps Doxygen link the comments to the typedefs
appropriately.
Incorrect:
.. literalinclude:: ../../../../samples/include/irq_test_common.h
:language: c
:lines: 67-72
:emphasize-lines: 3, 4
:linenos:
The comments on lines 3 and 4 offer little insight into the code's behavior.
Furthermore, they do not start with
:literal:`/**` and end with :literal:`*/`. Doxygen won't add the
information to the documentation nor link it properly to the complex
type documentation.