× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Brian Johnson wrote:
I left out the bits not relevent to the question. Here's another sample
that does compile (with guess for parameter and return types and sizes):

d RawReading c 'RawReading'
d f pr 1a extproc('XMLRtnAttr')
d func 10a const
d wRawReading s 1a
/free
wRawReading = f( RawReading ) ;
return ;


Using the name "f" does save space, but I find that it significantly decreases readability, especially if this coding pattern is used for other similar problems. If you don't know what RawReading is connected with, there is no hint that this line has something to do with XML attributes.

For maximum maintainability, I would take this in the opposite direction. It is easy to find everything related to XMLRtnAttr, and it is difficult to make an error by passing an irrelevant parameter to the procedure.

(I just struggled with a similar problem in my own code yesterday, and after trying a version with briefer names, I decided it was better to use the same name everywhere, to avoid the same problems that Booth mentioned.)

d XMLRtnAttr_RawReading...
d c 'RawReading'
d XMLRtnAttr pr 1a extproc('XMLRtnAttr')
d func 10a const
d wRawReading s 1a
/free
wRawReading = XMLRtnAttr( XMLRtnAttr_RawReading ) ;
return ;

To reduce the typing effort, if you use an editor like the WDSC editor, and type say XMLR then CTRL-space, it will bring up a list of all the possible names for you to choose from.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 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.