|
Joe,
While I agree with your statements, it does point out -why- one should
use flags instead of relying on indicators or BIFs in their mainline
code.
I know it probably doesn't help you any now that you are into your
project, but our shop standard is to have the CHaIN, SETLL, READ code in
separate /COPY members which will return flags: xxxHIT, xxxDONE and
xxxANY.
This way the mainline code can test the xxxHIT on a CHAIN or READ, or
xxxANY on a primed loop, etc. and the /COPY member can use indicators
for clients on older systems or BIFs on newer versions. In either case
the program logic stays the same and doesn't break.
This also gave programmers a little flexibility in "style" that, IMO, is
easier to read than the BIFs
For example:
EXSR xxxxGET
xxxxHIT DOWEQ 'Y'
.....
EXSR xxxxREAD
ENDDO
-or-
EXSR xxxxSET
EXSR xxxxREAD
xxxxHIT DOWEQ 'Y'
.....
EXSR xxxxREAD
ENDDO
-or-
EXSR xxxxSET
EXSR xxxxREAD
xxxxDONEDOUEQ 'Y'
.....
EXSR xxxxREAD
ENDDO
-or-
EXSR xxxxSET
xxxxANY IFEQ 'Y'
EXSR xxxxREAD
.....
xxxxHIT DOWEQ 'Y'
.....
EXSR xxxxREAD
ENDDO
ENDIF
BTW, we are moving at glacial speed in moving stuff to procedures also
<G>, but when we do, our mainline code still won't change, just the
contents of the /COPY.
Joe Pluta wrote:
>
<<snip>>
> The loss of functionality is not purely the issue of the BIF, Doug. It's
> the fact that, before the BIFs were available, I would write an I/O opcode,
> set a breakpoint immediately after the opcode, and be able to immediately
> determine the results of the operation without having to step through other
> code. With the new coding style, I am told to stop using indicators, and
> use BIFs instead, but now I can no longer execute that same procedure.
<<snip>>
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.