Charles Mills wrote:

<begin extract>
Why would a rational programmer cause an "empty" record to be written
in the first place?
<end extract>

I can think of some reasons for doing so.  They are, I suppose, few;
but that is not, I think, the issue.

I recently encountered an MFU-update application that behaved very
badly when presented with an update-transaction file that was empty; I
know of an insurance application that misbehaves when a customer
attempts to insure more than four vehicles; etc., etc.

In my now long experience it has been brought home to me over and over
again that boundary values are the chief sources of pathological
behavior.

Systems, and subroutines, are usually tested for and thus work for
normal, workaday values.  Some few well designed programs work for
boundary values too, but they are uncommon.

For this reason questions that begin with such language as "Why would
a rational programmer . . . " are, I suspect, almost always
misconceived.

Imaginative failures about what someone else may reasonably wish to do
with a facility are common.  Boundary values are thus the problem.
They must be handled correctly and appropriately, and systems and
subroutines must be tested to ensure that they are.

--jg

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to