Shadowing of members
deadalnix
deadalnix at gmail.com
Wed Jan 9 19:42:53 PST 2013
On Thursday, 10 January 2013 at 03:38:23 UTC, Jonathan M Davis
wrote:
> On Thursday, January 10, 2013 04:24:26 deadalnix wrote:
>> This argument can go on and on forever. What about getting some
>> hard data ?
>>
>> We should start to gather data when considering such issue.
>> What
>> about adding the warning in some dmd version and trying it on
>> several codebase to get a good view of the impact of such a
>> change ?
>
> 1. Walter has already rejected this idea.
>
> 2. Do you honestly think that it's not incredibly common to
> declare
> constructor parameters to have the same names as the member
> variables that
> they go with? Who _doesn't_ do it that way? The only thing that
> would mitigate
> how often it would be warned about would be how many POD types
> in D get away
> without needing to define constructor, because one is
> implicitly declared. It's
> incredibly common practice in C++, Java. C#, etc. to name
> constructor
> parameters after the member variables that they go with. If
> anything, it's
> rare _not_ to do that (aside from private member variables
> often having stuff
> like _ or m_ added to them).
>
> 3. Why on earth would I want the compiler to be warning me
> about the variable
> names that I pick? No offense. But that's asinine. There are
> _no_ bugs in code
> like
>
> struct S
> {
> this(int a, int b)
> {
> this.a = a;
> this.b = b;
> }
>
> int a;
> int b;
> }
>
> There aren't even any _potential_ bugs in that code. It's
> perfectly sound.
> Warning about something like
>
> a = a;
>
> would make some sense. Warning against a perfectly valid
> assignment or the
> fact that the variable names happen to be the same is just
> stupid.
>
> Warning about something which isn't a bug or at least almost a
> guarantee to be
> a bug is _not_ a valid use of a warning IMHO. You don't have
> warnings for good
> or bad practice. You have warnings for likely bugs. And I
> wouldn't even
> consider the struct above to be bad practice anyway.
>
> - Jonathan M Davis
So authority argument worth more than actual data. That is noted.
More information about the Digitalmars-d
mailing list