If you hadn’t seen the announcement EnC is coming to C#. While I know that everyone and their brother has asked for it, I still think it’s a bad idea. EnC is a bug-introducing machine. Why? Because you get to focusing on that one bug and twiddle the code to fix that one bug and introduce six more. When you’re debugging, you’re debugging, not editing. When you start editing, you need to stop to think and plan for the ramifications of those changes. To paraphase Dykstra: “Use of a debugger is an indication of slopping thinking. Use of EnC is an indication of insanity!” J
What a minute!? We’re a company that fixes bugs as a big part of our consulting business! Let me take that all back. Please, please use EnC! The more you use it, the more you’ll need our services! EnC users are going to get me a Ferarri yet! w00t!
Anyway, I’m going to get blasted for this so let me preempt two of the main arguments:
1. EnC lets you change and debug without having to reset up the tests and test data that may have to be constructed.
– If you can only recreate the data on the fly, instead of introducing bugs with EnC, how about spending your time building reproducible test cases?
2. EnC lets you avoid the large project startup and 20+ steps to get to the point where you want to make the changes.
– Granted, your time is money. In that case, buy bigger hardware and pipes. Consider how much time you’re going to waste fixing introduced bugs through sloppy thinking using EnC. That’s magnitudes more than the five minutes waiting to get back to a breakpoint.
I have my asbestos skivvies on so start the flaming! J