On Mon, 13 May 2002, Dossy wrote:

> On 2002.05.13, Dennis Newbold <dennisn / pe.net> wrote:
> > One of the things that I really like about Ruby is that it doesn't
> > require something (e.g., a variable, a method, an object) to be there
> > until you actually execute the code that references that entity.
> > It makes rapid prototyping, piece-wise testing, and piece-wise refinement
> > really nice.  However, its a two edged sword in that errors in little
> > executed pieces of code (e.g., the "else" clause of a case statement,
> > rescue clauses may contain bugs that may not show up until much later
> > in the development phase, and which may have been easier to fix if
> > found earlier.  One possible way around this (there may be others that
> > I haven't thought of, suggestions are welcome) [...]
> 
> Unit testing?
> 
Well, its a great idea.  In point of fact, I do unit test my code.
Nevertheless, experience has shown that humans are fallible and make
mistakes.  I am human, am fallible, and make mistakes.  Sometimes I even
make mistakes in writing unit test cases.  Also, experience has shown that
the earlier in the development process a bug can be found, the cheaper it
is to fix, both in time and money.  Point is, that unit testing and
static analysis are not mutually exclusive, but complementary.  And, as
a fallible human software engineer, I can use all the help I can get.
-dln-