[Cuis-dev] Push Down Improvements

Hernán Wilkinson hernan.wilkinson at 10pines.com
Mon Dec 19 05:29:26 PST 2022


Hi Patricio,
 I could finally take a look at it. The functionality is much better of
what we have right now.
 I have some comments and changes to make before integrating it:
1) You should change PushDownMethod instead of creating a new class. I
guess you created a new class for us to see this new behavior, but now that
we are going to integrate it, everything should be in the PushDownMethod.
Be aware that PushDownMethod subclasses MoveMethod
2) Tests must be provided for the new functionality and should cover all
the possibilities. Those tests should be in the class PushDownMethodTest
that already exists.
3) When it asks "Should preserve previous implementation...", it should:
    a) show the classes that implement that method as the current push down
refactoring does
    b) I would like the options to be: Preserver, Overwrite, Browser
implementations, Cancel.
        (The browse implementation is a functionality that I always wanted
in that refactoring, it is very simple to implement using MessageSetWindow)
    c) Right now if you press Esc, it assumes Overwrite which is wrong.
4) When it asks "Should implement subclassResponsibity....", why is it
asking "Yes, clean it"? What does "clean it" mean? I would just live "Yes".
BTW, as in the previous dialog, if you press Esc "just remove" will be
assumed which is wrong. It should cancel the refactoring.

Could you make those changes?
Thanks!

Hernan.


On Wed, Dec 14, 2022 at 11:29 AM Hernán Wilkinson <
hernan.wilkinson at 10pines.com> wrote:

> Hi, I'll take a look at it in the next few days... I'm very complicated at
> this time of the year, please give me some time
>
> Thanks!
> Hernan.
>
> On Mon, Dec 12, 2022 at 1:55 PM Luciano Leveroni <lucianolev at gmail.com>
> wrote:
>
>> Hi everyone :)
>> Any comments on Patricio's attached changeset?
>> Thanks!
>>
>> On Wed, Nov 2, 2022 at 11:58 AM Patricio Tourne Passarino via Cuis-dev <
>> cuis-dev at lists.cuis.st> wrote:
>>
>>> Thanks for the welcome!
>>> I'm sorry, the changes file is now attached.
>>> Thank you for the information about tests.
>>>
>>> Patricio Tourne Passarino
>>> Software Engineering Student
>>> Facultad de Ingeniería de la Universidad de Buenos Aires (FIUBA)
>>> github.com/Patricio-Tourne-Passarino
>>> linkedin.com/in/patricio-tourne-passarino/
>>> <https://www.linkedin.com/in/patricio-tourne-passarino/>
>>>
>>>
>>> ------- Original Message -------
>>> On Wednesday, November 2nd, 2022 at 11:46 AM, Hernán Wilkinson <
>>> hernan.wilkinson at 10pines.com> wrote:
>>>
>>> Hi Patricio!
>>> welcome to the Cuis community and list :-)
>>> I really like your suggestion, it is something we really need. I have
>>> other suggestions for other refactorings if you want to hear them :-)
>>> You forgot to attach the changes file, please send it to try it out.
>>> About the tests, if you are using a Cuis image (not a CuisUniversity),
>>> you need to load the package BaseImageTest.pck.st, that is where the
>>> tests are. There you will find the on for PushDownMethod.
>>>
>>> Cheers!
>>> Hernan.
>>>
>>> On Wed, Nov 2, 2022 at 10:00 AM Patricio Tourne Passarino via Cuis-dev <
>>> cuis-dev at lists.cuis.st> wrote:
>>>
>>>> I have some ideas to improve Push Down Refactor and I was wondering if
>>>> you could give me any feedback.
>>>> I'm Patricio Tourne Passarino and I'm studying Software Engineering at
>>>> FIUBA (Facultad de Ingeniería de la Universidad de Buenos Aires). I was
>>>> introduced to Cuis in my "Algorithms and Coding III" class and I thought of
>>>> a modification that would be usefull in the following case:
>>>>
>>>> I have a class "AClass" with two classes: "ASubclassOne" and
>>>> "ASubclassTwo".
>>>> "AClass" has "aMessage" implemented:
>>>>
>>>> aMessage
>>>>
>>>> "AClass implementation"
>>>>
>>>> "ASubclassOne" has "aMessage" implemented:
>>>>
>>>> aMessage
>>>>
>>>> "ASubclassOne implementation"
>>>>
>>>> ​I want to move "AClass" implementation of "aMessage" to all
>>>> subclasses that don't have it implemented allready (without overwriting).
>>>> Furthermore, instead of removing "aMessage" from ​"AClass", I want to
>>>> change it to:
>>>>
>>>> aMessage
>>>>
>>>> self subclassResponsibility.
>>>>
>>>>>>>> I propose Push Down has options for this alternative behaviour. I
>>>> implemented a demonstration adding the option "Push Down 2.0" in method
>>>> refactoring options. To reproduce the behaviour described previously, the
>>>> changes file must be imported, then right click on "aMessage" in "AClass",
>>>> in refactorings click on Push Down 2.0, then "Preserve" and then "Yes,
>>>> clean it". This implementation also works for messages with parameters, as
>>>> "aMessage:".
>>>>
>>>> I'm looking forward for your feedback. Also, I would like to know where tests
>>>> should go, as I wasn't able to find any testcases for the other
>>>> refactors to use as reference.
>>>>
>>>> Thank you for your time,
>>>>
>>>> Patricio Tourne Passarino
>>>> --
>>>> Cuis-dev mailing list
>>>> Cuis-dev at lists.cuis.st
>>>> https://lists.cuis.st/mailman/listinfo/cuis-dev
>>>>
>>>
>>>
>>> --
>>>
>>> *Hernán WilkinsonAgile Software Development, Teaching & Coaching*
>>> *Phone: +54-011*-4893-2057
>>> *Twitter: @HernanWilkinson*
>>> *site: http://www.10Pines.com <http://www.10pines.com/>*
>>> Address: Alem 896, Floor 6, Buenos Aires, Argentina
>>>
>>>
>>> --
>>> Cuis-dev mailing list
>>> Cuis-dev at lists.cuis.st
>>> https://lists.cuis.st/mailman/listinfo/cuis-dev
>>>
>>
>
> --
>
> *Hernán WilkinsonAgile Software Development, Teaching & Coaching*
> *Phone: +54-011*-4893-2057
> *Twitter: @HernanWilkinson*
> *site: http://www.10Pines.com <http://www.10pines.com/>*
> Address: Alem 896, Floor 6, Buenos Aires, Argentina
>


-- 

*Hernán WilkinsonAgile Software Development, Teaching & Coaching*
*Phone: +54-011*-4893-2057
*Twitter: @HernanWilkinson*
*site: http://www.10Pines.com <http://www.10pines.com/>*
Address: Alem 896, Floor 6, Buenos Aires, Argentina
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20221219/7c2d5824/attachment.htm>


More information about the Cuis-dev mailing list