20 |
but are not part of the supported library api have the prefix |
but are not part of the supported library api have the prefix |
21 |
`m4__', |
`m4__', |
22 |
|
|
23 |
+ Function names should be verb phrases; m4_get_module_field. |
+ Function names should be verb phrases; m4_module_get_field. |
24 |
|
|
25 |
+ Functions which exist to be used as callbacks from API functions, and |
+ Functions which exist to be used as callbacks from API functions, and |
26 |
hence which likely have strange looking parameters are named with the |
hence which likely have strange looking parameters are named with the |
49 |
generally not exported unless in the `m4__' namespace to support |
generally not exported unless in the `m4__' namespace to support |
50 |
fast accessor macros. |
fast accessor macros. |
51 |
|
|
52 |
|
+ An opaque abstract data type (ADT) can have public and private fields: |
53 |
|
By convention public fields will have exported accessor functions (and |
54 |
|
maybe also fast macro versions of the same), and private fields will |
55 |
|
not export accessors at all. However, there should be non-exported |
56 |
|
(or at least in the `m4__' namespace) accessor functions for even the |
57 |
|
private fields of an ADI to aid possible later refactoring. |
58 |
|
|
59 |
* ARCHITECTURE |
* ARCHITECTURE |
60 |
|
|
61 |
+ There are three groups of sources in subdirectories: `m4' contains |
+ There are three groups of sources in subdirectories: `m4' contains |