Yes, but the rename is *not* in the refactoring menu. It is *below* the refactoring menu. So, it is an unexpected refactoring in disguise... There was a simple rename in 1.4 I think. Maybe can we get that one back (in 3.0 of course...) Phil 2013/2/20 Fernando Olivero <fernando.olivero@usi.ch>:
Hi, i had the same misconception once, but i recall Lukas pointed out that the refactoring engine is built on the original refactoring's from Fowler's book, and implemented in Smalltalk by Roberts and Johnson [1].
So the semantics of the refactoring are preserved in the implementation.
If you just want a method rename, not a method refactoring rename, maybe is best have an option for that in the menu [2].
Fernando
[1] http://st-www.cs.illinois.edu/users/droberts/tapos.pdf [2] or use a better widget for editing methods, than a simple code editor within the pane of the browser, as in Gaucho..which i'm working on.
On Wed, Feb 20, 2013 at 11:03 AM, Esteban Lorenzano <estebanlm@gmail.com> wrote:
and you are right, scoped browsing is a very powerful feature that can be tricky to newcomers... but at least now with nautilus it is there, as first option (in OB it was there, but more or less hidden in a submenu)... It is a small step, but is something... and well... we can improve in next releases, one step at a time :)
Esteban
On Feb 20, 2013, at 10:52 AM, "phil@highoctane.be" <phil@highoctane.be> wrote:
Yes, thanks, I figured that out. A newcomer wouldn't... and renaming is pretty common.
What will happen is that people will remove the method and recreate a new one. Version history will then go away.
Or is the system smart enough to find out about these things?
Phil
2013/2/20 Esteban Lorenzano <estebanlm@gmail.com>:
hi,
yes, you are right.. but that is a "nice to have", not a bug... so it will wait to 3.0 :) In the mean time, you can do a scoped rename: you select the packages you want, then right click and "browse scoped", then you apply you rename, and it will apply the refactor in the scoped selection, not all the image.
cheers, Esteban
On Feb 20, 2013, at 10:21 AM, "phil@highoctane.be" <phil@highoctane.be> wrote:
Well, look at the screenshot then tell me that this is what I want.
It is definitively *not* what I want. Especially unchecking that endless list of methods.
Adding a "Uncheck all" "Check all" button to the Changes Browser list would help...
Regards Phil
2013/2/20 Camillo Bruni <camillobruni@gmail.com>:
there is 1 certain bug, that is that you cannot see the changes of the refactoring:
https://code.google.com/p/pharo/issues/detail?id=7547
the rest I would consider a bug as well. But in the terms of refactoring it might be "valid". It does preserve behavior by renaming also all implementors.
How about this reasoning:
Rename method => rename all senders (since you refactor) => you have to rename all implementors as well since you renamed all send sites otherwise you'll run for sure into a DNU
I think I just convinced myself :D
On 2013-02-20, at 09:26, "phil@highoctane.be" <phil@highoctane.be> wrote:
I was doing a Refactoring>rename of the initialize method in Nautilus for the ClassMethodBrowser and then the changes browser proposed me to change all classes with initialize. WTF?
Phil
<PharoScreenshot.3.png>