[Monodevelop-devel] Improving refactoring after 2.0

Mike Krüger mkrueger at novell.com
Thu Nov 6 02:20:26 EST 2008


> * Cross-project/language aspects of refactoring. For example, if an
> identifier is renamed in a C# project, it may need to be renamed in a
> dependent VB project or in ASP.NET or XAML files. Unit testing of
> these will be an interesting challenge...

Simple solution: If the project has no parser for all files in a project
either warn the user or don't allow it. Currently we destroy code -
that's not a good solution. Btw. for this I wan't previews - then the
developer can have a clear picture on what's going on with the source

> * Extensibility -- how easy will it be to build more "complex"
> refactorings? It would be interesting to catalogue all the
> refactorings provided by popular IDEs and Addins (VS, Eclipse,
> Resharper, DevExpress Refactor Pro etc) and try to break them up into
> more primitive operations, so that languages can get the high-level
> operations for free by implementing only the low-level operations. I
> know we have something like this already, but I think it'd be good to
> re-evaluate the primitives in light of all of the high-level
> operations we might want to implement.

Just get a copy of "Refactoring: Improving the Design of Existing Code"
from Martin Fowler :). I'm still sleeping with it under my pillow.

> * Indexing -- for renaming operations (and "find all references") our
> performance is currently dire. It might be worth having an index to
> make these faster.

Yes the performance is worse, but currently it's mostly because of
something I would call "issue with the infrastructure" - we can do  it
much more faster. But currently I don't want extensive changes here.

> I don't have any ideas right now on how these should be done, but I
> think it's important to take them into consideration  :-)
I'm pretty sure I would've missed Cross project/language aspects :-).


More information about the Monodevelop-devel-list mailing list