Class Browsers vs Static Types (Re: Inefficiency of __getattr__)

David Bolen db3l at fitlinxx.com
Thu Oct 5 12:55:00 EDT 2000


carroll at cis.ohio-state.edu (Mark Carroll) writes:

> Unless you have a very well designed test suite, for any significant
> project it's likely that not every line of code will actually be
> executed during development and testing.

Of course, if it isn't tested, then whether or not you're using a
statically typed system is only one potential problem that could exist
in that code.  The fact that static typing might let the compiler
catch errors in that regard in the non-tested code is only an
incremental improvement on the chance of that code functioning
properly once it does get used.

I actually disagree about your every line of code comment.  Perhaps
not repeatedly in regression tests or automated testing, but I do
expect every line of code that I write to be executed during
development at some point - even if I have to write dedicated code to
do it.  So pretty much the same stuff that the compiler would catch my
tests will catch.

Of course, if it's then impractical for some reason to include such
tests on official regression/automated testing (not my first choice),
you still have an exposure of a bug being introduced down the road,
particularly in a dynamic system, but that's a consequence of having
the ability to be dynamic, which I'll accept for the benefits.

>  (...)                                   In particular, with languages
> like Lisp, without lots of (declare ...)'s I'd sometimes find type
> errors cropping up some time after the code had been put into use.

Of course, that's not much different from finding semantic or
behavioral errors cropping up some time after code is in use, but when
the inputs to the system begin to change.

--
-- David
-- 
/-----------------------------------------------------------------------\
 \               David Bolen            \   E-mail: db3l at fitlinxx.com  /
  |             FitLinxx, Inc.            \  Phone: (203) 708-5192    |
 /  860 Canal Street, Stamford, CT  06902   \  Fax: (203) 316-5150     \
\-----------------------------------------------------------------------/



More information about the Python-list mailing list