DennisRootes@xxxxxxxxxxx wrote:
Please help me come up with some good examples as to what makes ILE better
than "business as usual". Here's what I've used so far:
With programs, you have only two levels of privacy:
1. Private to the program
2. Public
With procedures, modules, service programs, programs, you have more levels:
1. Private to the procedure (available only to that proc)
2. Private to the module (available to all procs in the module)
3. Private to the service program (available to all procs in the srvpgm)
4. Public
Using the additional levels of privacy don't just make your applications
"better" in some academic way. They can sometimes reduce maintainance
time by orders of magnitude. Want to add or change a parameter? If
it's a local non-exported procedure, just do it, and possibly change all
the callers in the module, depending on your parameter keywords.
Whatever changes you made, you only have one module to recompile.
There's no need to investigate to find all the callers, so they can be
recompiled, and to worry that maybe someone is calling your program
using a variable. There's no need to test everything just in case some
caller was missed; you should be able to focus testing on just that one
module.
As a rule of thumb, the more public a routine or data structure layout
is, the less freedom you have to redesign the parameters for the
routine, or the data structure layout. The less freedom you have to do
something, the more time it takes.
As an Amazon Associate we earn from qualifying purchases.