.NET

Limitations of Edit and Continue?

October 18, 2004 20:08:24.058

So the C#/.NET Community has been bouncing with the news that Edit and Continue is now being supported in the next community drop of VS Express. Wow. Check out the features that didn't make it:

  • Changing the name of a class
  • Adding or removing method parameters
  • Adding public fields to a class
  • Adding or removing methods

So coding in the debugger is out.. BUT CHECK OUT THIS FEATURE!!!!

This feature is also useful when doing test driven development. When a test fails, you can set a breakpoint in the offending code, and step through to determine where the error is happening. Depending on the error, you may be able to fix it on the spot and continue running to see if the test passes

Here I was thinking that part of the point of TDD is to spend less time in the debugger? Although having said that I know there are Smalltalkers who write all their tests through the debugger and create the methods as the doesNotUnderstand: walkbacks pop up... But guess what, that involves CREATING methods.. Which, referring to the list above you'll note you can't do. Half baked dynamicism (Is that a word?)

I've switched to 100% Dolphin at home now. I'm finally working on real software rather than just stuffing around. I already have real E&C with Dolphin and its a lot better.

Comments

Implement and Continue

[Mark Derricutt] October 19, 2004 21:05:23.520

As I just mentioned in my own posting on this ( hopefully a trackback will pop up soon ) I introduced the term "implement and continue" as opposed to "edit and continue" which indicates the difference between dynamic systems such as Smalltalk, and those others ( Java and C# ).

One thing that strikes me which I also touched on in my post was that this new C# E&C functionality would appear ( unless I'm mistaken ) to be a feature of Visual Studio.NET's C# support, and NOT the CLR. Does this mean that IronPython can't hotswap classes? Or that theres no clean easy way for joe-random-hax0r to call a standard hotswap API?