The Artima Developer Community
Sponsored Link

.NET Buzz Forum
Refactoring and drafting, revisisted

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Paul Vick

Posts: 783
Nickname: paulv
Registered: Aug, 2003

Paul Vick is a Tech Lead on Visual Basic at Microsoft Corp.
Refactoring and drafting, revisisted Posted: Nov 4, 2004 11:26 AM
Reply to this message Reply

This post originated from an RSS feed registered with .NET Buzz by Paul Vick.
Original Post: Refactoring and drafting, revisisted
Feed Title: Panopticon Central
Feed URL: /error.aspx?aspxerrorpath=/rss.aspx
Feed Description: a blog on Visual Basic, .NET and other stuff
Latest .NET Buzz Posts
Latest .NET Buzz Posts by Paul Vick
Latest Posts From Panopticon Central

Advertisement

In response to my entry on refactoring in VB 2005, some have asked why VB couldn't take advantage of C#'s work on refactoring the same way that C# took advantage of VB's work on Edit and Continue. I anticipated this would come up, and the answer is that some features are subject to drafting at the current time and some aren't.

Edit and Continue is a feature that spans the compiler, the debugger and the CLR. As such, work done in the latter two areas can be applied across all the languages that want to take advantage of Edit and Continue. Refactoring, on the other hand, is a feature that is currently implemented entirely within the compiler. Thus, there's no opportunity for taking advantage of the work that other teams have done on the feature.

Now, one could certainly imagine a world where it might be possible to share the work on refactoring across the languages, but we're just not there yet. Refactoring requires an intimate understanding of the structure and meaning of the code that's being modified, which is why it's currently implemented as a part of each language's IDE component. If there was an abstraction layer, however, that could abstract away the different syntax and semantics of the languages to such a degree that one could manipulate C# and VB code in a language-independent way that preserved semantics, then common refactorings would be possible. At the moment, though, neither VB nor C# is architected in this way.

Given some of my experiences with the CodeDOM and WinForms designer trying to do a much simpler form of this, I'm not entirely sanguine that such an abstraction layer is possible. Perhaps some of the third-party refactoring tools will prove me wrong on this. It's something that we talk about and will think about as we move past 2005, but for now each language is on it's own as far as refactorings...

Read: Refactoring and drafting, revisisted

Topic: Larry Osterman - 20 years at Microsoft Previous Topic   Next Topic Topic: Non-Admin resources part 2

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use