* HACKING Here are some short guidelines for hacking on the 'mu' source code. ** Coding style For consistency and even more important, to keep things understandable, mu follows the following rules: 1. basic code layout is like in the Linux kernel coding style, with the '{' on the same line as the statement, except for functions. Tabs/spaces have width 8. 2. lines must not exceed 80 characters 3. functions must not exceed 30 lines (there may be rare exceptions), and 30 lines is already pretty long. 4. source files should not exceed 1000 lines 5. a function's cyclomatic complexity should not exceed 10 (there may be rare exceptions). You can test the cyclomatic complexity with the pmccabe tool 6. filenames have their components separated with dashes (e.g, 'mu-log.h') 7. global functions have the prefix based on their module, e.g., mu-foo.h declares a function of 'mu_foo_bar (int a);', mu-foo.c implements this. 8. non-global functions *don't* have the module prefix, and are declared static. 9. functions have their return type on a separate line before the function name 10. in C code, variable-declarations are at the beginning of a block; in principle, C++ follows that same guideline, unless for heavy yet uncertain initializations following RAII. 11. returned strings of type char* must be freed by the caller; if they are not to be freed, 'const char*' should be used instead #+ Local Variables: *** #+ mode:org *** #+ End: ***