Re: "safer" Euphoria
- Posted by Irv <irv at ELLIJAY.COM> Jul 14, 1998
- 489 views
David Cuny wrote: > > Yes, I agree. But see Alan Cooper's (software interface guru) article at: > > http://www.cooper.com/articles/vbpj_ban_the_bomb.html > > why "Programs should not have error messages. None. Not a single one. Ever." > A nicely written article, with some ideas I can use. Let's look at an example from yesterday: -- User: Your program won't look up prices right! Me: Let me see what you're working on.... hmm... what is product # 1998? User: We don't have a product # 1998. Me: These 5 items have product # 1998 ....... User: Oh, I wanted a date to show in that column, so I typed it in. Me: What was there before? User: Numbers - 153-334, stuff like that. Me: Like product numbers? User: Yeah. Your program doesn't look up prices right. -- Yes. This was a coder error. Sure. I could have checked for invalid product numbers, right? (We DO have a product #2000. How do I check for THAT error?) I should add: I had already tried locking the product # column, and got lots of complaints along the lines of "We can't enter/change/correct a number!" That's why I unlocked it in the first place. I did learn from the article, however, so my next version of the program will run like this: PC (User) -- Here are some nice products. Shall I pick one at random? (No) OK, Would you like a nice sofa? (No!) Well, how about a chair? There are lots of nice chairs.... (NO!) Gosh (computer humming sounds) Maybe a lamp? (At last! Yes a lamp!) OK, (cooing sounds) I like lamp #2000, how about you? (No, I want # 156) (computer hums a pleasant tune) Would that be # 156-A or 156-B? (B) Thank you. B it is. Will there be anything else? (How much does it cost?) Oh, (another coo) I'm certain we can arrive at a mutually acceptable price... -- That ought to boost productivity greatly. I also liked the writer's idea of just leaving things (like the customer name and address) blank, and "catching the error" later. Bruno the 350 pound shipping clerk will no doubt deliver his own unique "error message" at the appropriate time. Irv