Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #82256
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: That's while I love C++ over C |
| Date | 2021-11-06 20:50 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <87zgqh57qb.fsf@bsb.me.uk> (permalink) |
| References | (6 earlier) <f6d1797e-35f4-4f84-901d-011e2335c77dn@googlegroups.com> <874k8qaual.fsf@bsb.me.uk> <sm4s6u$jog$1@redfloyd.dont-email.me> <87cznda6ej.fsf@bsb.me.uk> <sm6gj5$1k40$1@gioia.aioe.org> |
Manfred <noname@add.invalid> writes: > On 11/6/2021 12:08 PM, Ben Bacarisse wrote: >> red floyd <no.spam.here@its.invalid> writes: >> >>> On 11/5/2021 7:32 PM, Ben Bacarisse wrote: >>>> Tony Oliver <guinness.tony@gmail.com> writes: >>>> >>>>> On Friday, 5 November 2021 at 23:47:14 UTC, Bart wrote: >>>>>> On 05/11/2021 23:24, red floyd wrote: >>>>>>> On 11/5/2021 3:25 PM, Lynn McGuire wrote: >>>>>>>> On 11/5/2021 4:59 PM, Vir Campestris wrote: >>>>>> >>>>>>> [insanely ugly, unreadable, and unmaintainable code fragments redacted] >>>>>> You're having a laugh I think. >>>>>> >>>>>> My code fragments, >>>>> >>>>> which are [insanely ugly, unreadable, and unmaintainable code fragments] >>>>> are not welcome in clc++. >>>> I find the "fire them" remarks very odd. Quite apart from the fact that >>>> I'd hope everyone enjoys better employment protection than that, what's >>>> so bad about conditionally choosing an assignment target compared to >>>> conditionally choosing an assigned value? Or is any use of a conditional >>>> operator a sacking offence? >>> >>> No, use of the conditional operator is not a sacking offense. Even when >>> used as an lvalue. However, as I said above, I'd insist on training for >>> the person. That is highly unmaintainable code. >>> >>> If I had to use something like that, It would be: >>> >>> int *pInt = (x == y ? &a : &b); >>> *pInt = c; >>> >>> But I'd really prefer >>> >>> if (x == y) >>> a = c; >>> else >>> b = c; >>> >>> You've just inherited some code. Which would you prefer to maintain? >> >> The shorter and clearer >> >> (x == y ? a : b) = c; >> >> I can see at a glance that the same thing is always assigned (no need to >> check two places though when it's just 'c' that's not hard), and I can >> see instantly that what is determined by the test is the destination. > > Beauty is in the eye of the beholder. I guess you like puzzles, so to > your eyes this is quite clear, while others not as familiar with this > construct harshly label it as unmaintainable. Personally, I am not concerned with beauty, and I hate puzzles! I like the simple version because it is clear and explicit. Yes, those unfamiliar with it may not like it or find it in some way puzzling. But rather than re-train the programmer who writes the clear but uncommon code above, why not re-train the maintenance programmers to (a) not touch any line of code they don't fully understand, and (b) know how to find out about the language they are working in. And, remember, this is C++ we are talking about. Using a conditional expression as an lvalue must be one of easiest parts the language to grasp, even when never seem before! > FWIW, to me the construct looks just a bit spicy, which is still good. > Expecially since the "odd" part is having the ternary on the LHS, but > even for those for which it is not immediate to grok, it still can't > be misinterpreted(*), so for me it's a pass > (* I mean, if a reader would have to struggle figuring out what is the > destinaion between a/b or x/y, they'd have a much bigger problem than > the writer) Agreed. Also, I think prompting a few "oh, I see" moments in the mythical lowest common denominator maintenance programmer is no bad thing. -- Ben.
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
That's while I love C++ over C Bonita Montero <Bonita.Montero@gmail.com> - 2021-11-03 20:39 +0100
Re: That's while I love C++ over C Bart <bc@freeuk.com> - 2021-11-03 20:28 +0000
Re: That's while I love C++ over C Vir Campestris <vir.campestris@invalid.invalid> - 2021-11-05 21:59 +0000
Re: That's while I love C++ over C Lynn McGuire <lynnmcguire5@gmail.com> - 2021-11-05 17:25 -0500
Re: That's while I love C++ over C red floyd <no.spam.here@its.invalid> - 2021-11-05 16:24 -0700
Re: That's while I love C++ over C Bart <bc@freeuk.com> - 2021-11-05 23:46 +0000
Re: That's while I love C++ over C Tony Oliver <guinness.tony@gmail.com> - 2021-11-05 17:48 -0700
Re: That's while I love C++ over C Bart <bc@freeuk.com> - 2021-11-06 01:40 +0000
Re: That's while I love C++ over C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-11-06 02:32 +0000
Re: That's while I love C++ over C red floyd <no.spam.here@its.invalid> - 2021-11-05 20:18 -0700
Re: That's while I love C++ over C "Alf P. Steinbach" <alf.p.steinbach@gmail.com> - 2021-11-06 04:48 +0100
Re: That's while I love C++ over C James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-11-06 00:34 -0400
Re: That's while I love C++ over C Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-11-05 22:48 -0700
Re: That's while I love C++ over C red floyd <no.spam.here@its.invalid> - 2021-11-05 22:26 -0700
Re: That's while I love C++ over C Bonita Montero <Bonita.Montero@gmail.com> - 2021-11-06 07:37 +0100
Re: That's while I love C++ over C Bonita Montero <Bonita.Montero@gmail.com> - 2021-11-06 07:36 +0100
Re: That's while I love C++ over C Ike Naar <ike@sdf.org> - 2021-11-06 06:59 +0000
Re: That's while I love C++ over C David Brown <david.brown@hesbynett.no> - 2021-11-06 11:12 +0100
Re: That's while I love C++ over C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-11-06 11:08 +0000
Re: That's while I love C++ over C Bonita Montero <Bonita.Montero@gmail.com> - 2021-11-06 15:03 +0100
Re: That's while I love C++ over C Manfred <noname@add.invalid> - 2021-11-06 19:12 +0100
Re: That's while I love C++ over C Bart <bc@freeuk.com> - 2021-11-06 18:57 +0000
Re: That's while I love C++ over C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-11-06 20:50 +0000
Re: That's while I love C++ over C Bart <bc@freeuk.com> - 2021-11-06 11:44 +0000
Re: That's while I love C++ over C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-11-06 13:18 +0000
Re: That's while I love C++ over C David Brown <david.brown@hesbynett.no> - 2021-11-06 10:58 +0100
Re: That's while I love C++ over C Bart <bc@freeuk.com> - 2021-11-06 12:00 +0000
Re: That's while I love C++ over C Öö Tiib <ootiib@hot.ee> - 2021-11-06 07:04 -0700
Re: That's while I love C++ over C David Brown <david.brown@hesbynett.no> - 2021-11-06 15:50 +0100
Re: That's while I love C++ over C scott@slp53.sl.home (Scott Lurndal) - 2021-11-06 14:43 +0000
[OT] Algol68 Was: That's while I love C++ over C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-11-06 17:13 +0000
Re: [OT] Algol68 Was: That's while I love C++ over C scott@slp53.sl.home (Scott Lurndal) - 2021-11-06 20:16 +0000
Re: [OT] Algol68 Was: That's while I love C++ over C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-11-06 20:25 +0000
Re: That's while I love C++ over C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-11-05 21:59 -0700
Re: That's while I love C++ over C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-11-05 22:23 -0700
Re: That's while I love C++ over C red floyd <no.spam.here@its.invalid> - 2021-11-05 22:27 -0700
Re: That's while I love C++ over C red floyd <no.spam.here@its.invalid> - 2021-11-05 22:28 -0700
Re: That's while I love C++ over C "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-11-05 22:46 -0700
Re: That's while I love C++ over C Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-11-05 22:46 -0700
Re: That's while I love C++ over C David Brown <david.brown@hesbynett.no> - 2021-11-06 12:25 +0100
Re: That's while I love C++ over C Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-11-06 13:27 -0700
Re: That's while I love C++ over C Manfred <noname@add.invalid> - 2021-11-07 00:38 +0100
Re: That's while I love C++ over C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-11-07 00:33 +0000
Re: That's while I love C++ over C David Brown <david.brown@hesbynett.no> - 2021-11-07 15:10 +0100
Re: That's while I love C++ over C James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-11-08 01:47 -0500
Re: That's while I love C++ over C Bart <bc@freeuk.com> - 2021-11-05 23:35 +0000
Re: That's while I love C++ over C Bonita Montero <Bonita.Montero@gmail.com> - 2021-11-06 07:33 +0100
csiph-web