PROPOSAL: Auto-assignment Parameters
Mark Mahieu
markmahieu at googlemail.com
Fri Mar 27 17:11:34 PDT 2009
That's a good example, but to me it's a nice illustration of why that
approach doesn't work very well for return values, especially when there's
additional logic in the method body.
'return;' already has very clear semantics in Java, and this would add too
much confusion, and complexity, for there to be a net gain.
Mark
2009/3/27 Marek Kozieł <develop4lasu at gmail.com>
> 2009/3/27 Mark Mahieu <markmahieu at googlemail.com>:
> > On 27 Mar 2009, at 00:22, Marek Kozieł wrote:
> >
> > We can also consider:
> > {
> > private String name;
> > public this setName (String this.name){};
> > public this.name String getName(){};
> > }
> > While we have quite similar idea, they work really great with each
> > other. I just still wander if that should go so far.
> >
> > I think you're right to question whether this would be going too far.
> > Looking at the getter method, I don't see a clear gain over the way it
> > would currently be written, ie,
> > public this.name String getName() {}
> > doesn't strike me as a definite improvement on:
> > public String getName() { return name; }
> >
> > So far, the only extension to the proposal which looks like it might be
> > reasonable, is simply to allow it for method parameters in general. I'm
> not
> > convinced that it would be worthwhile, but for the sake of illustration
> > here's the example again if that option were taken:
> > private String name;
> > public void setName(String this.name) {}
> > public String getName() { return name; }
> >
> > In this variation, the method name, field, and type are each mentioned
> once
> > for the getter, and once for the setter, with no need to mention extra
> > variables. Improving on that would almost certainly require language
> > support for properties in general, which isn't what this proposal is
> about
> > (and isn't in scope for Coin).
> > Thanks for sharing your thoughts.
> > Regards,
> > Mark
> >
>
> I was thinking about that and found few conclusions about syntax:
> [returned field] returnedType methodName (Type assignedField, ...);
>
>
> MAJOR DISADVANTAGE:
> We have few ways to obtain same target.
>
>
> ADVANTAGE(s):
> (input) decreased a number of variables.
> (return) if we have 5 return statement in method's body, we do not
> have to write "return this.SomeVariable" 5 times, and this is good. We
> have to notice that value is returned once while we might be forced to
> write it 5 / 10 / 15 ... times.
>
>
> INTERACTIONS:
> public this.name String getName(){
> if ( name==null ) return;
> synchronized (some){
> //determine name operations
> return;
> }
> // other operations ...
> };
>
> Let's focus on second return statement.
> Return need to be executed in synchronized block to prevent unexpected
> events.
>
>
>
> --
> Pozdrowionka. / Regards.
> Lasu aka Marek Kozieł
>
> http://lasu2string.blogspot.com/
>
More information about the coin-dev
mailing list