X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=HACKING;h=cf407c985d95fa3c4b8ef0992a8da1a7af99d39a;hb=1b142b78274d74563a084299a01ef1a92206356f;hp=9c422a328bce348a1832b9223ea838a85d94cb4d;hpb=2bba3dd3a836f4a6d497709d321557a48e6425a3;p=libsigrok.git diff --git a/HACKING b/HACKING index 9c422a32..cf407c98 100644 --- a/HACKING +++ b/HACKING @@ -115,6 +115,18 @@ Random notes should end with "_all", e.g. "_remove_all", "_get_all", and so on. Use "_remove_all" in favor of "_clear" for consistency. + - All enums should generally use an explicit start number of 10000. + If there are multiple "categories" in the enum entries, each category + should be 10000 entries apart from the next one. The start of categories + are thus 10000, 20000, 30000, and so on. + + Adding items to an enum MUST always append to a "category", never add + items in the middle of a category. The order of items MUST NOT be changed. + Any of the above would break the ABI. + + The enum item 0 is special and is used as terminator in some lists, thus + enums should not use this for "valid" entries (and start at 10000 instead). + Doxygen ------- @@ -131,6 +143,30 @@ Doxygen /** @endcond */, so that Doxygen doesn't include them in the output. Variables that are "static" don't need to be marked like this. + - Mark all public API functions (SR_API) with a @since tag which indicates + in which release the respective function was added. If the function has + existed before, but its API changed later, document this as well. + + Non-public functions (static ones, and those marked SR_PRIV) don't need + to have @since markers. + + The @since tag should be the last one, i.e. it should come after @param, + @return, @see, and so on. + + Examples: + + @since 0.1.0 + + @since 0.1.1 (but the API changed in 0.2.0) + + +Testsuite +--------- + +You can run the libsigrok testsuite using: + + $ make check + Release engineering -------------------