Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!aplcen!uunet!mcsun!hp4nl!media01!pkr From: pkr@media01.UUCP (Peter Kriens) Newsgroups: comp.object Subject: Re: testing object oriented programs Message-ID: <1184@media01.UUCP> Date: 1 Jun 90 09:17:26 GMT References: <1990May20.154035.15064@axion.bt.co.uk| <54783@microsoft.UUCP> <5121@stpstn.UUCP> <54917@microsoft.UUCP> <480@tetrauk.UUCP> <1990May30.204110.22011@ux1.cso.uiuc.edu> Reply-To: pkr@media01.UUCP (Peter Kriens) Organization: Mediasystemen, Netherlands Lines: 19 Class invariants The discussion about class invariants and static type checking is a very crucial one. About this problem I have one question, do the static typing and class invariants not limit the future use of the code? Does the original programmer contain the wisdom to foresee in what way his code will be reused? I have found many times that I could reuse code which I was pretty sure the original programmer could never have thought of. This gave me reliable and debugged code. And doesn't this prevent more errors than relying on type checking and forbidding people to do something. Besidedes doesnt the dynamic binding ease the debugging process so much that there are hardly ever those obscure errors that I remember from pascal and other "save" languages? pkr pkriens@media01