It seems a lot of .net blogs are full of the "wonderful" news about Edit and Continue making it to C# (yes Peter, this includes you). The general feeling is its a great addition. Call be old fashioned (one of the more polite things I'm called) but damnit NO.
With test driven development your logic errors should have been caught before you feel the need to fire up a debugger. Heck getting to a stage of using a debugger may well be an indication that your tests cases suck. Surely the changes you make to data on the fly to make your code run should be enshrined in a unit test somewhere? But it's not data changes that really worry me, it's the code changes in a running program. It's unit tests that should drive your editing/refactoring/rewriting/changing not the fact that you can now change your code at run/debug time to make it finally work. And boy will that temptation to edit your code there and then cause problems for some...
I can see E&C providing a crutch for sloppy coding. On one of the work email lists someone replied to this statement with
As for it being a crutch for sloppy coding, many would say that tools such as FxCop and StyleCop are that too. After all, how hard can it be for a "good" developer to remember to reference private members with "this" each time?
FxCop and StyleCop can be guilty of encouraging cargo culting, where people fix something so they pass tests without any understanding of why the changes are actually necessary to have "decent code". Yes you can take this argument to extremes, IDEs are crutches, after all how many of us can remember having all their C libraries in their heads, only now to be spoiled by intellisense?
I just don't like the idea, but it does have one bonus, it stops one argument in the VB.Net versus C# "my language is better than yours" argument, although there is always someone that will say
It is not the VB community's fault that we place efficiency above obfuscating language features. We have fought hard for this feature for a long time. Please switch to VB.NET if you would like to use Edit and Continue.