Hi, On 04/01/2012, at 3:29 PM, ext Thiago Macieira wrote:
> On Wednesday, 4 de January de 2012 09.42.52, Atlant Schmidt wrote: >> Let me more-explicitly/completely state the rule >> that I use: >> >> 1. Always use the canonical casing for an identifier. >> >> 2. Don't create any other identifiers that differ >> from an existing canonical identifier only in >> their casing. > > That assumes you have an option to follow your rules. > > I'm asking for consideration of the case where you *don't* have an option. > Mangling identifiers and magic identifier injection are really bad. > > Think also of how Qt Creator or any code model needs to do to find the > property > or signal related to "onFooBar". It cannot lowercase the the 'F' because it > doesn't *know* that the original identifier is "fooBar". It should search all > identifiers for the one that, mangled, produces the "onFooBar" handler. > > The problem with this mangling is that it's not 1:1. That's why I'm calling > it > bad. QML is case sensitive. We don't allow signal or property names to start with an uppercase letter, so in theory "fooBar" and "FooBar" cannot cause ambiguity with "onFooBar". Unfortunately, I just noticed that we do allow "__FooBar" as a name, which does cause the problem :) But that's a bug, and should be fixed. Where a name ambiguity arises, we generally have a well defined precedence (so the resolution is stable and defined), but generally not a way to explicitly choose the alternative. Frankly, it doesn't really come up in the real world, and complicating everything else for academic cases seems pointless. I do like your "on fooBar" idea, but we didn't think of it (if only you'd suggested it earlier ;) and I don't think it is sufficiently better to justify changing now. Cheers, Aaron _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
