× 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.



> "Al Barsa" wrote:
> Subject: Re: Typical project w/ ACS Software
>
> 3.    The overall package was ported from a S/34 application and was laden
> with subroutines.  We started removing unused subroutines by hand, and
> ultimately wrote a command name Remove Unnecessary RPG Subroutines
> (RMVURPGSR), and this improved performance.  On the large memory machines
> available today, this is likely a moot point.

Al -

In 1984 I was working on a System/38 as a Sr. Programmer/Analyst
for the Herring Group in Dallas (a mall-management company that is
now defunct).

One of my predecessors (per IBM's recommendations
at the time) wrote inline code with _no_ subroutines.
Many of our programs had over 3000 lines of inline code.

In his programs, Every IF - END block of code had an ELSE
operation, whether needed or not, and some of the logic went
10 levels deep, with the END operation hundreds or thousands
of lines of code later.

This shop is where I got my first copy of the INDENT
command/program, and I had to use it extensively when
modifying the code...

Example:

FIELD1 IFEQ FIELD2
              some code
FIELD3 IFEQ FIELD4
              more code
FIELD5 IFEQ FIELD6
              more code

.. 10 pages later on the compile listing..

              ELSE
              END
              ELSE
              END
              ELSE
              END

I created a command called RMVELSE (Remove ELSE).
This was the first and only RPGIII program where I used
look-ahead fields to determine if the ELSE operation was
redundant.  If so, I deleted the source statement containing
the ELSE operation.

When starting a modification project, I would first use this
command on the source code to remove the redundant
ELSE operations before I started modifying the code
(as well as subroutine-izing the code where possible).

The same programmer was also a jokester -
he would arrange source statements in the code so that
if you read down the first character of the field names
that they would spell out words or sentences - I found
this quite by accident one day.

Example:
MOVE *BLANKS      HLD1
MOVE *BLANKS      E$
MOVE *BLANKS      RFLG
MOVE  *BLANKS     MTH
MOVE *BLANKS      ADATE
MOVE  *ZEROS         NBR

MOVE  *BLANKS      SVCO
MOVE  *BLANKS      USER
MOVE  *BLANKS      CO
MOVE  *BLANKS      K$
MOVE  *ZEROS         SEQNBR

We had a boss named Herman...

Steve

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.