Naked dot - accessing object fields through unqualified "." [C1]
Marek Kozieł
develop4lasu at gmail.com
Tue Mar 31 06:31:13 PDT 2009
2009/3/29 Derek Foster <vapor1 at teleport.com>:
> The major problem I have with this proposal is that it does not address the point of why I use a prefix on field names. As such, I would still continue to use a prefix even if this proposal were implemented.
>
> In short, I use a prefix to avoid typographical mistakes, like this one:
>
> void setFoo(Thing foob) { // Typo!
> this.foo = foo;
> }
>
> This will compile, and no warnings are produced, but it ends up assigning foo to itself, which is not what was intended.
>
> Your proposal has exactly the same problem:
>
> void setFoo(Thing foob) { // Typo!
> .foo = foo;
> }
>
> It therefore does not substitute for a field prefix, which WILL fix the problem:
>
> void setFoo(Thing foob) { // Typo!
> _foo = foo; // ERROR! Undefined variable 'foo'.
> }
>
You can use:
Eclipse -> Java -> Code Style -> Edit -> Member Access -> Use 'this'
qualifier for field access. (Always)
> So unless you had some way to make use of the dot prefix mandatory and the only legal way to access fields (which I would like, but which would be an extremely backwards-incompatible change that will never happen in Java), I don't see that adding an optional dot prefix helps the situation except to reduce typing in constructor and setter methods slightly.
>
> (Note: I would love a "self-assignment is forbidden" change to Java. If I have time after my other proposals, I might write one up. (Anyone else want to volunteer? This one is easy!) I might be willing to forego prefixes and use the "this.foo = foo" approach, or even the ".foo = foo" approach, if I was sure it wouldn't cause me to fall into the self-assignment trap.)
>
> Derek
>
>
>
Read:
class Bar {
public String name;
public Bar right;
}
class Root {
public Bar right;
public Bar left;
public Root(Bar right, Bar left) {
this.left = left// left is set here
.right = right;
}
}
Did you noticed missing semicolon?
--
Pozdrowionka. / Regards.
Lasu aka Marek Kozieł
http://lasu2string.blogspot.com/
More information about the coin-dev
mailing list