From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public From: Charles Hixson Subject: Re: Software landmines (loops) Date: 1998/09/04 Message-ID: <35F092A2.FA22F092@earthlink.net>#1/1 X-Deja-AN: 388035173 Content-Transfer-Encoding: 7bit References: <902934874.2099.0.nnrp-10.c246a717@news.demon.co.uk> <6r1glm$bvh$1@nnrp1.dejanews.com> <6r9f8h$jtm$1@nnrp1.dejanews.com> <6renh8$ga7$1@nnrp1.dejanews.com> <6rf59b$2ud$1@nnrp1.dejanews.com> <6rfra4$rul$1@nnrp1.dejanews.com> <35DBDD24.D003404D@calfp.co.uk> <6sbuod$fra$1@hirame.wwa.com> <35f51e53.48044143@ <904556531.666222@miso.it.uq.edu.au> <6sf87j$47n$1@hirame.wwa.com> <6sh6ic$o8p$1@nnrp1.dejanews.com> <6shhcq$lid$1@hirame.wwa.com> <6sk59r$8e6$1@nnrp1.dejanews.com> <6ske0c$16k$1@hirame.wwa.com> X-Posted-Path-Was: not-for-mail Content-Type: text/plain; charset=us-ascii X-ELN-Date: Fri Sep 4 18:20:57 1998 Organization: Mandala Fluteworks Mime-Version: 1.0 Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-09-04T00:00:00+00:00 List-Id: Rick Smith wrote: ... > Some data has a lifetime that makes 4 digit years unnecessary. If the > requirements for an existing system state that a "back order" must be > resolved within 30 days of the order date and that completed orders will > not be held for more than 5 years, what is the benefit of changing the > system to store 4 digit years with the order? > > The benefits of windowing should be clear. > > 1. No user should be required to enter more data than is necessary. If the > correct 4 digit year can be determined by the last two digits, do not ask > for more than these 2 digits. > ... > ------------------------------- > Rick Smith > e-mail: < ricksmith@aiservices.com > The problem comes when the validity of assumptions changes. In 1990 to say that if someone was born after xx/xx/90, then they were actually born before 1900 is reasonable. In 2000, what do you say about someone who was born in xx/xx/00? A 2-digit date was a perfectly valid entry value, it won't be for about 5 years (10 years?), and then it will be again. But this is an easy problem to overlook (most test data sets won't have any people more than 100 years old, and in most years a 2-digit entry field is good enough for everyone [no one living in my service area and entered in my database is currently verified to have lived to more than 105]). Also, it probably wouldn't cause any trouble in my application anyway (it doesn't matter much if a transit pass is denied to someone who is over 100 years old, they wouldn't have used it anyway -- given today's medicine). But there are a lot of guards in those sentences. Things external to my program that could change to cause my currently working program to stop working. And I don't have control over any of them. If the bus service starts a public relations campaign to provide free chauffered rides to seniors (or super-seniors), it will SUDDENLY be important that I handle the exceptional cases that I had been previously ignoring. ETC! On the other hand, the basic thrust of your argument is certainly correct. But one needs to be careful to build in overrides! E.g., have the century field exist on the form, but be automatically filled in with the most common default assumption, and then do an automatic tab over the field, so that one must manually select the century to be able to enter it. The century could also be a choice list, that includes all currently reasonable values. If the list of values is stored in a preferences file, then it would be no problem to add values once a century (even after the vendor stops supporting the environment).