> -----Original Message----- > From: > avr-gcc-list-bounces+eweddington=cso.atmel....@nongnu.org > [mailto:avr-gcc-list-bounces+eweddington=cso.atmel....@nongnu. > org] On Behalf Of Vincent Trouilliez > Sent: Saturday, February 28, 2009 7:20 PM > To: avr-gcc-list@nongnu.org > Subject: Re: [avr-gcc-list] Re: C vs. assembly performance > > On Sat, 28 Feb 2009 19:09:13 -0700 > "Weddington, Eric" <ewedding...@cso.atmel.com> wrote: > > > So in application code I tend to avoid switch statements > for embedded systems, unless I'm writing throw-away code or > the application is trivial. > > Oh no ! ;-) > I have only recently got round to using switch statements, to improve > code legibility. In my current/first embedded project, I > happen to have > a very long (25 cases, 160 lines long) switch statement.. I dread to > think what it would like if I had to replace it (what else > with ?) with > nested if's ! > How readable would that be... not to mention that with indentation, 25 > levels of nesting would mean the last case would be 3 meters > on the far > right... ;-) > > Any coding tips to make all this look about readable by human > beings ?! ;-/
You wouldn't need *nested* ifs, but an if-else-if structure, or better yet, a table of function pointers, also known as a dispatch table. Each method depends on the type of data that you're switching on. _______________________________________________ AVR-GCC-list mailing list AVR-GCC-list@nongnu.org http://lists.nongnu.org/mailman/listinfo/avr-gcc-list