Path: csiph.com!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder2.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Tim Rentsch Newsgroups: comp.lang.c Subject: Re: else ladders practice Date: Sat, 02 Nov 2024 11:09:42 -0700 Organization: A noiseless patient Spider Lines: 38 Message-ID: <864j4pv76h.fsf@linuxsc.com> References: <3deb64c5b0ee344acd9fbaea1002baf7302c1e8f@i2pn2.org> <78eabb4054783e30968ae5ffafd6b4ff2e5a5f17@i2pn2.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Date: Sat, 02 Nov 2024 19:09:45 +0100 (CET) Injection-Info: dont-email.me; posting-host="d09aaab7860833338ed3364fdef11758"; logging-data="4099246"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX198c/Vh241Homw0EY+S/a9QC3Yagq0O5Es=" User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux) Cancel-Lock: sha1:KpYZt/gCf+/mTtoqxVRK5rLRUAA= sha1:xhwbyAggin0T8M5zv+QadVnKc+o= Xref: csiph.com comp.lang.c:388809 fir writes: > Bart wrote: > >> ral clear patterns here: you're testing the same variable 'n' >> against several mutually exclusive alternatives, which also happen >> to be consecutive values. >> >> C is short of ways to express this, if you want to keep those >> 'somethings' as inline code (otherwise arrays of function pointers >> or even label pointers could be use > > so in short this groupo seem to have no conclusion but is tolerant > foir various approaches as it seems > > imo the else latder is like most proper but i dont lkie it > optically, swich case i also dont like (use as far i i remember > never in my code, for years dont use even one) > > so i persnally would use bare ifs and maybe elses ocasionally > (and switch should be mended but its fully not clear how, I think you should have confidence in your own opinion. All you're getting from other people is their opinion about what is easier to understand, or "clear", or "readable", etc. As long as the code is logically correct you are free to choose either style, and it's perfectly okay to choose the one that you find more appealing. There is a case where using 'else' is necessary, when there is a catchall action for circumstances matching "none of the above". Alternatively a 'break' or 'continue' or 'goto' or 'return' may be used to bypass subsequent cases, but you get the idea. With the understanding that I am offering more than my own opinion, I can say that I might use any of the patterns mentioned, depending on circumstances. I don't think any one approach is either always right or always wrong.