I think the answer is 'depends' . How granular do you need/want to be?
If DoStuff is a blackbox where the calling procedure doesn't care how it gets done then one procedure to DoStuff is probably appropriate.
But if the calling procedure does care how things get done then perhaps having a separate procedure for each condition is appropriate.
It seems to be a style decision.
Paul
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Briggs, Trevor (TBriggs2)
Sent: Monday, August 06, 2012 9:23 AM
To: RPG programming on the IBM i / System i
Subject: RE: Callp question
Call me idealistic, but I believe the intent of a procedure is to do one thing only. The purpose of parameters is to supply values upon which the procedure operates, not to specify a switch which alters the function performed.
On the other hand, I well know that creating four procedures where one will do can also multiply the overhead of documentation, especially if you use change management software.
I think the deciding factor would be how much difference there was between the functions, which if your three procedures are all calling the same procedure anyway would seem to be small.
Trevor Briggs
Analyst/Programmer
Lincare, Inc.
(727) 431-1246
TBriggs2@xxxxxxxxxxx
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Dave
Sent: Monday, August 06, 2012 7:49 AM
To: RPG programming on the IBM i / System i
Subject: Callp question
Hi,
I'm being asked to do this :
DoStuffThisWay ();
DoStuffTheOtherWay ();
DoStuffTheOldWay()
Instead of having : DoStuff (wayToDoStuff); So that the caller does not care about the parameter.
Then, in the module containing my 3 procedures :
P DoStuffThisWay
DoStuff(1);
DoStuffTheOtherWay
DoStuff(2);
Etc.
Obviously,this means maintaining more procedures and duplicating code.
I was wondering about procedure pointers. Could that help? How? Any other ideas?
Thanks.
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
************************************************************************************************************************************************************************************************************
This message originates from Lincare Holdings Inc. It contains information which may be confidential or privileged and is intended only for the individual or entity named above.
It is prohibited for anyone else to disclose, copy, distribute or use the contents of this message.
All personal messages express views solely of the sender, which are not to be attributed to Lincare Holdings Inc., and may not be copied or distributed without this disclaimer.
If you received this message in error, please notify us immediately at MailAdmin@xxxxxxxxxxx or (800) 284-2006.
************************************************************************************************************************************************************************************************************
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.