I like the idea: A function that takes an empty list, an assigned status, an integer, and a result It manufactures the list, pretends to look for a status - fudges the result and returns the result you originally passed! It's friday ;-)
Regards Paul McKenzie Analyst Programmer SMSS ltd. ----- Original Message ----- From: "Kurt at iadvance" <[EMAIL PROTECTED]> To: "Multiple recipients of list delphi" <[EMAIL PROTECTED]> Sent: Friday, November 01, 2002 8:48 AM Subject: Re: [DUG]: Style question - your votes please > Kyley Harris wrote: > > > In this case the contract is that the code returns true to guarantee an > > assigned object so that you don't need if assigned(value) in a whole lot > > of places. The second part of the contract is that if it returns false, > > you don't pretend that it was true and try to do something with an > > invalid pointer. > > Well, you can follow that path all the way to reinventing Eiffel ;) > But below is the perfect example of what happens. > Anything counting on side-effects is false prophecy, > as I now must test that my list is assigned, > and that my status is assigned, > and test the result is true. > > I'd rather just hire a tester. > > We've gone from a function which > takes any list, any status and always returns an integer > > through a function takes any list, any status, an integer variable > which will be changed, and returns a boolean > > to a function takes a non-empty list, an assigned status, > an integer variable which will be changed, and returns > a boolean. > > Okay, I'm ignoring the difference between returning a listitem > and an integer, but its the same argument either way. > > Cheers, Kurt. > > > functionFindFirstMatch (List: TItemList; Status: TItemStatus):TListItem; > > begin > > if not assigned(List) then raise exception.create('No list assigned > > for findFirstMatch()'); > > if not assigned(Status) then raise exception.create('No status > > assigned for findFirstMatch()'); > > -------------------------------------------------------------------------- - > New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] > Website: http://www.delphi.org.nz > To UnSub, send email to: [EMAIL PROTECTED] > with body of "unsubscribe delphi" > Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/ --------------------------------------------------------------------------- New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] Website: http://www.delphi.org.nz To UnSub, send email to: [EMAIL PROTECTED] with body of "unsubscribe delphi" Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/