[Cuis-dev] Push Down Improvements

Patricio Tourne Passarino patricio.tourne.passarino at proton.me
Mon Dec 19 16:03:53 PST 2022


Hi! I'm glad you liked it! I'll be implementing what you've mentioned.
I have a couple of questions:

- What do you mean by "Browser implementations"

- Is there any message sent comunicating the press of the Escape key to implement for handling this?

Thanks!

> 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 Monday, December 19th, 2022 at 10:29 AM, Hernán Wilkinson <hernan.wilkinson at 10pines.com> wrote:

> 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 Wilkinson
>>>>> Agile 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 Wilkinson
>> Agile 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 Wilkinson
> Agile 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/20221220/bac87e8e/attachment-0001.htm>


More information about the Cuis-dev mailing list