Merge branch 'doc/structures_enum4style_guide' into 'master'
Doc/structures enum4style guide See merge request espressif/esp-idf!7140
This commit is contained in:
commit
f17b4763e0
1 changed files with 37 additions and 20 deletions
|
@ -16,6 +16,17 @@ When doing modifications to third-party code used in ESP-IDF, follow the way tha
|
||||||
C Code Formatting
|
C Code Formatting
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
.. _style-guide-naming:
|
||||||
|
|
||||||
|
Naming
|
||||||
|
^^^^^^
|
||||||
|
|
||||||
|
* Any variable or function which is only used in a single source file should be declared ``static``.
|
||||||
|
* Public names (non-static variables and functions) should be namespaced with a per-component or per-unit prefix, to avoid naming collisions. ie ``esp_vfs_register()`` or ``esp_console_run()``. Starting the prefix with ``esp_`` for Espressif-specific names is optional, but should be consistent with any other names in the same component.
|
||||||
|
* Static variables should be prefixed with ``s_`` for easy identification. For example, ``static bool s_invert``.
|
||||||
|
* Avoid unnecessary abbreviations (ie shortening ``data`` to ``dat``), unless the resulting name would otherwise be very long.
|
||||||
|
|
||||||
|
|
||||||
Indentation
|
Indentation
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
@ -187,6 +198,25 @@ To re-format a file, run::
|
||||||
tools/format.sh components/my_component/file.c
|
tools/format.sh components/my_component/file.c
|
||||||
|
|
||||||
|
|
||||||
|
Type Definitions
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Should be snake_case, ending with _t suffix::
|
||||||
|
|
||||||
|
typedef int signed_32_bit_t;
|
||||||
|
|
||||||
|
Enum
|
||||||
|
^^^^
|
||||||
|
|
||||||
|
Enums should be defined through the `typedef` and be namespaced::
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
MODULE_FOO_ONE,
|
||||||
|
MODULE_FOO_TWO,
|
||||||
|
MODULE_FOO_THREE
|
||||||
|
} module_foo_t;
|
||||||
|
|
||||||
C++ Code Formatting
|
C++ Code Formatting
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
@ -341,19 +371,6 @@ Documenting Code
|
||||||
|
|
||||||
Please see the guide here: :doc:`documenting-code`.
|
Please see the guide here: :doc:`documenting-code`.
|
||||||
|
|
||||||
.. _style-guide-naming:
|
|
||||||
|
|
||||||
Naming
|
|
||||||
------
|
|
||||||
|
|
||||||
- Any variable or function which is only used in a single source file should be declared ``static``.
|
|
||||||
|
|
||||||
- Public names (non-static variables and functions) should be namespaced with a per-component or per-unit prefix, to avoid naming collisions. ie ``esp_vfs_register()`` or ``esp_console_run()``. Starting the prefix with ``esp_`` for Espressif-specific names is optional, but should be consistent with any other names in the same component.
|
|
||||||
|
|
||||||
- Static variables should be prefixed with ``s_`` for easy identification. For example, ``static bool s_invert``.
|
|
||||||
|
|
||||||
- Avoid unnecessary abbreviations (ie shortening ``data`` to ``dat``), unless the resulting name would otherwise be very long.
|
|
||||||
|
|
||||||
Structure
|
Structure
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue