[MonoDevelop] Refactoring menu

Rafael Teixeira monoman at gmail.com
Sat Dec 2 06:36:59 EST 2006


I think Paulo is wanting just a smarter find-and-replace, for those
partial steps of larger and more complex refactorings like splitting
classes.

It doesn't qualify itself as a refactoring, as it doesn't guarantees
that code will remain compilable and working exactly as before (except
for Reflection bits) , so it should NOT be in the refactoring menu,
but it still could be a feature.

In Eclipse we can find-replace for semantically-qualified symbols,
like if I have both a class and a method in another class or variable
with the same name, I can say I wan't to find just the methods and not
the other types of ocurrences of that symbol.

The complex refactorings normally can be achieved by a combination of
smaller refactorings like rename/move/pull up/push down, and that has
the benefit of not making your code stop working in any moment of the
process.

I prefer that we focus on specifying and implementing correct support
for some of the more complex refactorings, obviously that only after
the simpler ones it should build upon are done.

An example I would love to have: being able to easily add a class in
the middle of a hierarchy (easy) and them apply selective
generalization on references to the child classes (less easy) and/or
selective specialization on references to the parent class (much
harder). Probably it would be called something like "Insert new
superclass".

Fun,

On 12/2/06, Jacob Ilsø Christensen <jacobilsoe at gmail.com> wrote:
> On 12/2/06, Paulo Aboim Pinto <esqueleto at tusofona.com> wrote:
> > > Maybe I am just confused, but that is not how the rename refactoring
> > > should work IMO. If you have e.g. a class, rename should rename the
> > > class and ALL references to it. You should not be able to decide which
> > > references to rename and which not to. It doesn't make sense to me. Is
> > > this what you mean?
> >
> > You are right. That will be the usual feature. Maybe that should be the
> > default work and how it will work in the first release, but should exist
> > the "Rename Next" feature in the future.
>
> I just don't see when you will use that feature. I cannot see how it
> makes sense to rename e.g. only half of the references to some class.
>
> >
> > This feature is just usability.
> >
> > Regards
> > Paulo Aboim Pinto (Esqueleto)
> > Odivelas - Portugal
> >
> > _______________________________________________
> > Monodevelop-list mailing list
> > Monodevelop-list at lists.ximian.com
> > http://lists.ximian.com/mailman/listinfo/monodevelop-list
> >
> _______________________________________________
> Monodevelop-list mailing list
> Monodevelop-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/monodevelop-list
>


-- 
Rafael "Monoman" Teixeira
---------------------------------------
"The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore all
progress depends on the unreasonable man." George Bernard Shaw


More information about the Monodevelop-list mailing list