On 2014-05-28 17:43, Gedare Bloom wrote:
We still have no new rule for "avoidance of deep nesting by using early >returns" in the wiki page. So we are still in the situation that everyone >interested in code contributions must deduce this rule himself from the >"almost 200 API calls which take object ID and have the _Object_Get() >switch". >My vote is to limit nesting to 4 levels of indentation. Early returns or local goto to error/out label should be used when it makes sense. For example: int foo(int bar) { int a = 0; // one level if ( bar == a ) { int b = 1; // two levels while ( a++ < b ) { int c = 2; // three levels if ( a == c ) { goto err; // fourth and deepest level! } } } return 0; err: return -1; }
For the cpukit the coding style should enforce that new/changed code looks similar enough to the exiting code. I really don't care how particular rules look like since you can find for every rule an arbitrary amount of pros and cons. I think however that it is very important that the rules in charge are documented. I should be possible to give newcomers a document that describes the coding style in detail. It can also be used to judge code contributions.
A "avoidance of deep nesting by using early returns" rule should cover what happens if it leads to duplicated clean up code.
-- Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49 89 189 47 41-16 Fax : +49 89 189 47 41-09 E-Mail : [email protected] PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. _______________________________________________ rtems-devel mailing list [email protected] http://www.rtems.org/mailman/listinfo/rtems-devel
