[plt-scheme] Development and Debugging

From: Noel Welsh (noelwelsh at yahoo.com)
Date: Fri Dec 2 06:21:04 EST 2005

Debugging is a problem not a solution

  - Debugging code after release is a sign that the
development process has failed.

  - Debugging code at the whole program level is a sign
that unit testing is inadequate.

I follow a TDD process:

  - I write tests at the module level
  - I write code at the module level
  - I alternate the above till all my tests pass and I am
reasonably confident that my tests cover all cases
  - When I write enough of an application to go end-to-end
I implement functional tests (Selenium is good for web

If I see an error it is very easy to localise: whatever I
changed last is broken.  I sometimes run tests from within
DrScheme to get better error localisation -- which I take
to be a sign that my unit testing is inadequate.  I have
never used error trace.  

I know that is not the answer you want, but in my
experience (and opinion) build-and-fix is a fundamentally
broken development process.  Better debuggers and tracing
tools can't change this.


--- "David J. Neu" <djneu at att.net> wrote:

> We're finding the debugging cycle to be very challenging
> because we
> can't run compiled code in the production system with
> debug on because
> it's really slow, therefore we don't get detailed error
> messages,
> i.e. error trace.

Email: noelwelsh <at> yahoo <dot> com   noel <at> untyped <dot> com
AIM: noelhwelsh
Blogs: http://monospaced.blogspot.com/  http://www.untyped.com/untyping/

Start your day with Yahoo! - Make it your home page! 

Posted on the users mailing list.