\s\s\s\sif (expr) {\n\tstmt; --ick.) The only exception to this rule is
multi-line comments that use an asterisk at the beginning of each line, i.e.:
- /t/*
- /t * This is a block comment.
- /t * Note that it has multiple lines
- /t * and that the beginning of each line has a tab plus a space
- /t * except for the opening '/*' line where the slash
- /t * is used instead of a space.
- /t */
+ \t/*
+ \t * This is a block comment.
+ \t * Note that it has multiple lines
+ \t * and that the beginning of each line has a tab plus a space
+ \t * except for the opening '/*' line where the slash
+ \t * is used instead of a space.
+ \t */
Furthermore, The preference is that tabs be set to display at four spaces
wide, but the beauty of using only tabs (and not spaces) at the beginning of
do {
+Exceptions:
+
+ - if you have long logic statements that need to be wrapped, then uncuddling
+ the bracket to improve readability is allowed:
+
+ if (some_really_long_checks && some_other_really_long_checks \
+ && some_more_really_long_checks)
+ {
+ do_foo_now;
Spacing around Parentheses
~~~~~~~~~~~~~~~~~~~~~~~~~~
conversion.
- Compile and see if everything still works.
-
+
Please be aware of changes that have cascading effects into other files. For
example, if you're changing the name of something in, say utility.c, you
should probably run 'examples/mk2knr.pl utility.c' at first, but when you run
#define var 80
Do this instead, when the variable is in a header file and will be used in
- several source files:
+ several source files:
- const int var = 80;
+ const int var = 80;
Or do this when the variable is used only in a single source file:
- static const int var = 80;
+ static const int var = 80;
Declaring variables as '[static] const' gives variables an actual type and
makes the compiler do type checking for you; the preprocessor does _no_ type
Code cluttered with ifdefs is difficult to read and maintain. Don't do it.
Instead, put your ifdefs at the top of your .c file (or in a header), and
conditionally define 'static inline' functions, (or *maybe* macros), which are
-used in the code.
+used in the code.
Don't do this:
like this in code:
/* in a .c file outside any functions */
- static char *buffer[BUFSIZ]; /* happily used by any function in this file,
+ static char buffer[BUFSIZ]; /* happily used by any function in this file,
but ick! big! */
The problem with these is that any time any busybox app is run, you pay a
Furthermore, you should put a single comment (not necessarily one line, just
one comment) before the block, rather than commenting each and every line.
-There is an optimal ammount of commenting that a program can have; you can
+There is an optimal amount of commenting that a program can have; you can
comment too much as well as too little.
A picture is really worth a thousand words here, the following example
And a code block similar to the following near the top of your applet_main()
routine:
- while ((opt = getopt(argc, argv, "abc")) > 0) {
+ while ((opt = getopt(argc, argv, "abc")) > 0) {
switch (opt) {
case 'a':
do_a_opt = 1;