X-Git-Url: https://git.cworth.org/git?p=notmuch;a=blobdiff_plain;f=devel%2FSTYLE;h=da6531248feb7e827c6f5066faaf1049a61a2652;hp=92de42ccc9ba1847234532a88b58840ab5b0151a;hb=e0e8586fc72763571f9eafeb831c7bc79a15273d;hpb=5872cba1ebfd69de738f31da3a491b573f7c2779 diff --git a/devel/STYLE b/devel/STYLE index 92de42cc..da653124 100644 --- a/devel/STYLE +++ b/devel/STYLE @@ -25,9 +25,7 @@ The following nonsense code demonstrates many aspects of the style: static some_type function (param_type param, param_type param) { - int i; - - for (i = 0; i < 10; i++) { + for (int i = 0; i < 10; i++) { int j; j = i + 10; @@ -64,12 +62,19 @@ function (param_type param, param_type param) * Code lines should be less than 80 columns and comments should be wrapped at 70 columns. +* Variable declarations should be at the top of a block; C99 style + control variable declarations in for loops are also OK. + Naming ------ * Use lowercase_with_underscores for function, variable, and type names. +* Except for variables with extremely small scope, and perhaps loop + indices, when naming variables and functions, err on the side of + verbosity. + * All structs should be typedef'd to a name ending with _t. If the struct has a tag, it should be the same as the typedef name, minus the trailing _t. @@ -93,3 +98,13 @@ libnotmuch conventions * Code which needs to be accessed from both the CLI and from libnotmuch should be factored out into libutil (under util/). + +* Deprecated functions should be marked with the NOTMUCH_DEPRECATED + macro which generates run time warnings with gcc and clang. In order + not to confuse doxygen this should go at the beginning of the + declaration like: + + NOTMUCH_DEPRECATED(major,minor) notmuch_status_t notmuch_dwim(void *arg); + + The @deprecated doxygen command can be used to generate markup in + the API docs.