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