[Development] A modest proposal: disable lower-case keywords (emit, foreach, forever, signals, slots) by default

Alex Blasche alexander.blasche at qt.io
Wed Feb 26 17:36:17 CET 2020



> -----Original Message-----
> From: Lars Knoll <lars.knoll at qt.io>
> >> -----Original Message-----
> >> From: Lars Knoll <lars.knoll at qt.io>
> >>>> I’m not trying to make this only about emit. But it’s the concrete
> >>>> problem we’re facing now, and emit is IMO the one keyword where we
> >>>> simply don’t need a replacement because it has no real semantic
> >>>> meaning in
> >> C++.
> >>>
> >>> I don't think semantics matter here. It is all about annotation and
> readability.
> >> With the same arguments we design APIs. While Kai's survey is
> >> inconclusive about the actual solution, it is conclusive in one
> >> aspect. There is a clear majority to have sth in place for
> annotation/readability purposes.
> >>
> >> As Kai said, in this case a comment would do the trick just as well,
> >> no need for a keyword or macro:
> >>
> >> /*emit*/ mySignal(); or
> >> mySignal(); // emit
> >
> > Can you see us adopting a coding style that enforces the use of such
> comments? Otherwise this will quickly change to comments being forgotten
> which makes the above suggestion less valuable. Although the alternatives have
> no semantics either they impress a stronger coding style than comments IMO.
> 
> We’re neither enforcing the use of ‘emit’ currently. And I honestly find most of
> the alternatives to be worse than no annotation at all.

Lars, I did not talk about enforcing. It is a fact that we overwhelmingly use it today. That's a convention hammered into each of our heads by years of adherence. Your comment suggestion would not have that unspoken benefit and therefore extremely quickly disappear.

Please let me ask again, can you consider a coding convention to use such comments? Normally the usage of systematic comments for annotation is extremely rare. Therefore, I cannot see that your suggestion to adopt a comment style annotation would be anything else but a lip service without such a convention.

--
Alex


More information about the Development mailing list