SgDotNet
Singapore Professional .NET User Group -For Cool Developers

Edit and Continue: good or bad?

rated by 0 users
This post has 9 Replies | 2 Followers

Top 10 Contributor
Posts 2,284
icelava Posted: 03-12-2006 1:00 AM
I am posting here because of the perception of this as a programming practice, rather than a feature of the IDE per se.

http://www.codinghorror.com/blog/archives/000507.html

opinions?

The melody of logic will always play out the truth. ~ Narumi Ayumu, Spiral

Top 25 Contributor
Posts 154
initially the post looks promising, but the game analogy part is really its undoing.

that aside, I believe with the current crop of drag-and-drop-plus-right-click enterprise developers, edit and continue is a god-send. for hard core coders, read up on why Linus resists including a kernel debugger.

anyway, if you look at the debugger visualizer, it's easy to see the amount of help the IDE is providing. So going a step forward and allow E&C is understandable.
http://feelite.com/blog
Top 10 Contributor
Posts 1,626

I think the author is right and I agree with him. I guessed some groups of people are resistant to advancements. Imagine if we all go by the concept of doing everything low-level.

We should not have automobiles or even bicycles. We should walk!

We should not have gas stove or microwave oven. We should find our own wood and burn them!

We should not even be typing here because we should use pen-and-paper.

P.S. Life is too short to be just writing code.

Software development made easy with Paladin RAD Framework. Save some trees, use Stickies.NET
Top 25 Contributor
Posts 154
this is a common technique applied in debates, the power of analogy. to elucidate the fault of one argument, the idea is to find a similar situation and fully explicate the problem the original argument leads to.

whenever I mention we should understand how the abstracted software technology work, even if just to prepare for the unexpected scenarios that the documented best practices/patterns miss, they say, 'oh, why not code in assembly and have full control of everything?' the extrapolation is silly, when one sets out to do something, he's not committed to do everything.

more to the point, when we do buy cars and vehicles, it's a choice based on priority. had we really have/want to build a automobile, we certainly can. just that the result may or may not be as good as one pre-fab. therefore, an argument for or against a feature has little to do with whether the feature is dispensible. it's about the kind of habits it cultivates in developers. case in point, has anyone met a true blue VB developer who are comfortable writing case-sensitive code?

however, at the end of the day, looking at a feature like this objectively can be hard, given that it has direct benefits to the majority of developers out there. and that, is really what matters for the this version. it's only when the product team itself comes back to the drawing board to design the features set of the next version will there really be a cold hard look at all the alternatives.
http://feelite.com/blog
Top 10 Contributor
Posts 1,626

feelite:
more to the point, when we do buy cars and vehicles, it's a choice based on priority. had we really have/want to build a automobile, we certainly can. just that the result may or may not be as good as one pre-fab. therefore, an argument for or against a feature has little to do with whether the feature is dispensible. it's about the kind of habits it cultivates in developers. case in point, has anyone met a true blue VB developer who are comfortable writing case-sensitive code?

The car example was not about 'building your own'. It is about not using a car or MRT to travel but to just walk. That way one can learn more about walking and not rely on automobiles.

Similarly, the microwave example was not about 'building your own'. It is about collecting wood and igniting our own fire to cook our food so that we all know the hardship of setting up a good meal.

As for the IDE feature, like the author said, everyone has a choice of using it or don't. I myself never used E&C and tonnes of other features built into VS but I don't go around saying those who use it are stupid or useless. That's just absurd.

Software development made easy with Paladin RAD Framework. Save some trees, use Stickies.NET
Top 50 Contributor
Posts 39
It goes down to the individual's choice of whether or not to use the debugger/E&C.

Personally, I've tried to use the debugger a few times, but in the end, I rather dive straight into the code and re-examine the flow again, and perhaps a few writeouts(to a text file) to determine the cause of the problem.

To someone who is perhaps unfamiliar with the code structure (e.g. asked to maintain/clean up someone else's mess), it may be more beneficial to use the debugger.
Top 10 Contributor
Posts 2,284
I have never had prior "luxury" of using Edit&Continue features in the platforms/IDEs i developed in. But here is what I feel:

The usefulness of Edit&Continue is only going to be marginal. Unless the program written is pretty small, it is likely a change that needs to happen in the code has to many at many places and not just at a particular position currently in step. (despite all the preaching of designing/writing code to minimise change to one place, we know we're far from such skill)

Edit&Continues appears to me, it induces "haste" in correction of the immediate problem so the stepping can continue, without highlighting the need for modification in other areas to sync up with that change. Therefore the introduction six additional bugs as mentioned. Again, as developers we know ourselves are concerned with only that single route of scenario when step testing, and how we easily forget other test cases if we do not have proper unit/module tests at hand.

I think it is a convenience feature that should be used judiciously.

The melody of logic will always play out the truth. ~ Narumi Ayumu, Spiral

Top 10 Contributor
Posts 2,284

reviving an old topic, just to fit in more information into the matter

http://www.yafla.com/dennisforbes/Edit-and-Continue-Valuable-Tool-or-Sloppy-Vice-/Edit-and-Continue-Valuable-Tool-or-Sloppy-Vice-.html

The melody of logic will always play out the truth. ~ Narumi Ayumu, Spiral

Top 50 Contributor
Posts 82

Personally, I've seen developers who depends solely on the E&C to test his module. Needless to say, his common practice is, variables declaration and assignment anywhere deemed fit. Which usually leads to spaghetti code.

And when i took over his code, minus the documentations, what can I do to quickly understand his code? E&C.

Of course, this is just one scenario. I just feel that E&C is convenient to have, but it should come with a warning label "Use as necessary. May cause sloppiness or addiction". Stick out tongue

Perhaps it's something like a cigarette. Some may like it, some may not. Some who likes it, know that it harms his body in the long run, but can't live without it. But some says that it keeps them awake and concentrate. So, is cigarette a good or bad thing?

-- Signed with Soup --
Page 1 of 1 (10 items) | RSS
Copyright SgDotNet 2004-2008
Powered by Community Server (Commercial Edition), by Telligent Systems