> I see. This is another refactoring. It seems to be something like 
"Replace
> Inheritance with Delagation". It's not supported yet, but we plan to
> implement it in some near future.

No I don't think so! I have no inheritance!!!!

I only have inheritance AFTER using "extract interface". IDEA is causing 
it! Please look at my example again.

I don't want inheritance! Extract interface is always adding "extends 
NEWINTERFACENAME" when this should just be optional as sometimes you want 
to create a distinct interface using parts of another.

I haven't read the book "Refactoring" yet, but I will. However I don't 
think you should follow this publication as religiously as you seem to.

How about doing things that are intuitive and make sense, rather than 
adhering to a "standard" invented by a single person's book?

I didn't even consciously realise I was converting to delegation until I 
had to describe this problem � we don't always understand our own genius 
until after the fact ;-)  So, with these convoluted complicated names for 
features, people may not understand them unless they have read this book. 
(In which case I hope you are getting royalties on sales)

For example, the current "Introduce Field" is counter-intuitive to me 
personally. Any normal person I think will assume from the name that this 
means you can highlight an undefined variable or an expression and 
convert it to a field of the class. Not so. I still can't work out how 
that feature works. Yes I've been told that it works according to the 
book's description of that refactoring, but what use is that to me? That 
doesn't make it intuitive. 

So, for new undefined variables (usually class "constants") I have to 
CTRL+V to make local variable and then Convert Local to Field... to do 
what I think Introduce Field should do, judging by its name. 

$0.02

Cheers



_______________________________________________
Eap-list mailing list
[EMAIL PROTECTED]
http://www.intellij.com/mailman/listinfo/eap-list

Reply via email to