1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- Asterisk Patch/Coding Guidelines
- To be accepted into the codebase, all non-trivial changes must be
- disclaimed to Digium or placed in the public domain. For more information
- see http://bugs.digium.com
- Patches should be in the form of a unified (-u) diff.
- All code, filenames, function names and comments must be in ENGLISH.
- Do not declare variables mid-function (e.g. like GNU lets you) since it is
- harder to read and not portable to GCC 2.95 and others.
- Don't annotate your changes with comments like "/* JMG 4/20/04 */";
- Comments should explain what the code does, not when something was changed
- or who changed it.
- Don't make unnecessary whitespace changes throughout the code.
- Don't use C++ type (//) comments.
- Try to match the existing formatting of the file you are working on.
- Functions and variables that are not intended to be global must be
- declared static.
- Function calls and arguments should be spaced in a consistent way across
- the codebase.
- GOOD: foo(arg1, arg2);
- GOOD: foo(arg1,arg2); /* Acceptable but not preferred */
- BAD: foo (arg1, arg2);
- BAD: foo( arg1, arg2 );
- BAD: foo(arg1, arg2,arg3);
- Following are examples of how code should be formatted.
- Functions:
- int foo(int a, char *s)
- {
- return 0;
- }
- If statements:
- if (foo) {
- bar();
- } else {
- blah();
- }
- Case statements:
- switch (foo) {
- case BAR:
- blah();
- break;
- case OTHER:
- other();
- break;
- }
- No nested statements without braces, e.g. no:
- for (x=0;x<5;x++)
- if (foo)
- if (bar)
- baz();
- instead do:
- for (x=0;x<5;x++) {
- if (foo) {
- if (bar)
- baz();
- }
- }
|