On Aug 6, 2010, at 3:14 PM, Tim Mackinnon wrote:

> Well I'm certainly glad that you cared to get the tests back up to scratch - 
> and it makes our whole community more productive. A big thanks for this!
> 
> I'm just a bit embarrassed that in our community - we keep talking about how 
> we have these great refactoring tools (that were invented in smalltalk) - but 
> it looks like in Pharo (and I guess Squeak) - they've fallen a bit behind in 
> terms of usability.

yes this is clear. This is why we should wake up and this is why I thank lukas 
to have invested and fixed
RB and its engine. 

> My scenario is a very frequent one - and it should be possible to do 
> effortlessly (and I think that the pieces are in place to do it).
> 
> Maybe at ESUG we can rally some energy to help support some of these things 
> (hold an appeal fund... not money - but contributions). I want to help - I 
> just am not sure how to yet - and sometimes this is partly my surprise to 
> discover that some of the things I thought already worked - don't.
> 
> Maybe in the show us your projects demo's it might be worth replaying this 
> scenario and showing how it works in Pharo, and how it works in Eclipse (and 
> maybe another Smalltalk) - and then showing some of the features available in 
> the refactoring engine and trying to get support for improving it. This along 
> with useful keyboard shortcuts are the things that eat away at the awesome 
> productiveness I've noticed in other areas.

start small and help this is the best things and once a small thing is done 
pass to the next one.
We will all make progress.

Stef


> 
> Tim
> 
> 
> On 6 Aug 2010, at 13:03, Lukas Renggli wrote:
> 
>> On 6 August 2010 13:04, Tim Mackinnon <[email protected]> wrote:
>>> Hmmm - (again if you can please be patient with me)... I really am missing
>>> something big here?
>>> 
>>> So in my example class X and Y are subclasses of WAComponent - which has
>>> tons of subclasses (it could be even worse, they could subclass Object?). So
>>> does this mean that I should create my superclass A first?
>>> 
>>> E.g. I create a new subclass of WAComponent, called A. I then make X and Y
>>> subclass A. Now I can do the "Refactor Class | Create Subclass" refactoring,
>>> and so I have to call it A2 (ultimately I only want A - but if needs must).
>>> Then I do get the prompt that you are referring to and can select both X and
>>> Y. Finally it just offers to make me class A2 but unlike what I was trying
>>> below it doesn't offer to move up any methods or instance variables????
>>> 
>>> So this doesn't work? And furthermore it seem much more convoluted than it
>>> should be?
>> 
>> I don't know.
>> 
>> Keep in mind that nobody really cares about OmniBrowser, the
>> Refactoring Engine, and all the other development tools. A few years
>> ago they were just rotting along, most tests were broken and the
>> refactoring code base was on outdated code from the last century. I am
>> maintaining these tools because they make me more productive, not
>> because it is fun.
>> 
>> I would love to use something as sophisticated as Eclipse, but I don't
>> have interest to do that myself. So I just continue to fix and enhance
>> what works for me. If somebody else provides something better, I am
>> happy to give it a try.
>> 
>> Lukas
>> 
>>> I don't understand why Refactor Class | Create Superclass doesn't prompt me
>>> for other peer classes (this is what I want - in fact what I really, really
>>> want is to select 2 classes in the first place).
>>> 
>>> Maybe I'm being really stupid, or does no-one use this refactoring in Pharo?
>>> It would seem that my scenario is a very common one - so I'm struggling with
>>> this. And frustratingly it seems that all the horsepower to do this, is
>>> built into the tools but they just don't use them in an intuitive way?
>>> 
>>> Tim
>>> 
>>> 
>>> On 6 Aug 2010, at 11:18, Lukas Renggli wrote:
>>> 
>>>> Select the superclass of your classes X and Y and perform the 'create
>>>> subclass' refactoring. A dialog asks you to choose the subclasses of
>>>> your new class.
>>>> 
>>>> This old website describes most of the refactorings:
>>>> http://st-www.cs.illinois.edu/users/brant/Refactory/Refactorings.html.
>>>> There is also a description in the tooltips of the menu actions.
>>>> 
>>>> Lukas
>>>> 
>>>> On 6 August 2010 11:47, Tim Mackinnon <[email protected]> wrote:
>>>>> 
>>>>> Hi Lukas - sorry to keep this thread going,  but I don't quite understand
>>>>> what you mean? Partly I think the issue is that over the years I've
>>>>> become
>>>>> very familiar with the Eclipse/IntelliJ refactorings (and how they
>>>>> approach
>>>>> things) and I've slowly forgotten how they work in smalltalk (although -
>>>>> in
>>>>> Dolphin they seem to more closely match Eclipse/IntelliJ - adding to my
>>>>> confusion in Pharo).
>>>>> 
>>>>> To give some context, I had a class X, then I copied it to create class Y
>>>>> -
>>>>> made some changes and got something useful working. However X and Y are
>>>>> mostly the same - so deserve a superclass. This sounds to me like
>>>>> standard
>>>>> Refactor Class | Create Superclass refactoring (available in the context
>>>>> menu). Is this what you are referring to? (And this is a seaside30.rc
>>>>> image). Is this the create class refactoring you are referring to? It
>>>>> doesn't sound like it?
>>>>> 
>>>>> The one I am referring to just asks me for a name of a superclass and
>>>>> shows
>>>>> me the method changes it will make (and I can remove those which I don't
>>>>> deem common) - but they only apply to the single class I ran the
>>>>> refactoring
>>>>> for - say X. This then leaves me with Y which still needs work.  I was
>>>>> expecting somewhere where it would ask me if there are any other classes
>>>>> to
>>>>> consider for the refactoring (or better still - let me multi-select
>>>>> several
>>>>> classes before I do the "create superclass" in the first place - which
>>>>> apparently is very hard in Pharo for some reason?).
>>>>> 
>>>>> So is there some other browser, or menu option that I am missing?
>>>>> 
>>>>> Tim
>>>>> 
>>>>> On 6 Aug 2010, at 00:31, Lukas Renggli wrote:
>>>>> 
>>>>>>>> Good point. I've been struggling with multiple selection too e.g. when
>>>>>>>> setting the refactoring scope. There's an entry called "selection..."
>>>>>>>> but
>>>>>>>> since I've never been able to select more than one item from a list,
>>>>>>>> selecting "selection..." has the same effect as “category" (when in a
>>>>>>>> category list of course).
>>>>>>> 
>>>>>>> So is there some way of applying a refactoring to more than one class?
>>>>>>> What
>>>>>>> is that refactoring scope menu item - is there some way to specify 2 or
>>>>>>> more
>>>>>>> classes in there? Why is this so hard?
>>>>>> 
>>>>>> The refactoring scope is something completely different. It selects
>>>>>> the part of the system that is considered by a refactoring.
>>>>>> 
>>>>>> Did you ever try to go through the whole create-class refactoring? I
>>>>>> get a dialog that offers me to select multiple classes.
>>>>>> 
>>>>>> Lukas
>>>>>> 
>>>>>> --
>>>>>> Lukas Renggli
>>>>>> www.lukas-renggli.ch
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Pharo-project mailing list
>>>>>> [email protected]
>>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> [email protected]
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> --
>>>> Lukas Renggli
>>>> www.lukas-renggli.ch
>>>> 
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> [email protected]
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>> 
>>> 
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>> 
>> 
>> 
>> 
>> -- 
>> Lukas Renggli
>> www.lukas-renggli.ch
>> 
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
> 
> 
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to