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

Eike Ziller Eike.Ziller at qt.io
Fri Feb 21 13:54:43 CET 2020



> On 21. Feb 2020, at 13:30, Mitch Curtis <mitch.curtis at qt.io> wrote:
> 
>> -----Original Message-----
>> From: Development <development-bounces at qt-project.org> On Behalf Of
>> Ville Voutilainen
>> Sent: Friday, 21 February 2020 12:16 PM
>> To: Alex Blasche <alexander.blasche at qt.io>
>> Cc: development at qt-project.org
>> Subject: Re: [Development] A modest proposal: disable lower-case
>> keywords (emit, foreach, forever, signals, slots) by default
>> 
>> On Fri, 21 Feb 2020 at 10:42, Alex Blasche <alexander.blasche at qt.io> wrote:
>>> I think a fallback to
>>> 
>>> somethingChanged()
>>> 
>>> without any annotation is not what we want. We'd miss vital information
>> and reduce readability.
>> 
>> Can you please explain what that vital information is?
> 
> How can you tell if it's a signal being emitted or just a function call without the emit syntax? With the emit syntax before the signal emission, it's immediately obvious that it's a signal.

It isn’t because you can put “emit” anywhere in your code because it has no semantics for the compiler.
It’s not beter than any code comment that you could also put there, like

/*emit*/ something();

or 

something(); // emit

> Not all signals follow the *Changed() naming convention, nor should they, so it becomes even less obvious in those cases.
> 
>> _______________________________________________
>> Development mailing list
>> Development at qt-project.org
>> https://lists.qt-project.org/listinfo/development
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> https://lists.qt-project.org/listinfo/development

-- 
Eike Ziller
Principal Software Engineer

The Qt Company GmbH
Erich-Thilo-Straße 10
D-12489 Berlin
eike.ziller at qt.io
http://qt.io
Geschäftsführer: Mika Pälsi,
Juha Varelius, Mika Harjuaho
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B



More information about the Development mailing list