Sometimes expediency wins out.
I have to admit that there is a lot of my code that I presented as functional prototype that is still running in that state in production systems. Some of it more that 20 years old. The notion always seems to be "well, it does what we want it to do, let's go with it and go back when things are quieter and fix it up". Things never seem to get quieter. There's always another hot project.
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Birgitta Hauser
Sent: Wednesday, March 06, 2013 12:41 AM
To: 'Midrange Systems Technical Discussion'
Subject: AW: Programing requirements - Guidelines - Code Revision andExternal Programmers - Am I wrong
Thank you for all your confirmation, so I know I'm not alone.
Unfortunately it seems I've already lost the battle :(
... according to my manager yesterday: "You may be right, but we need this external programmer."
And ... as soon as this external programmer will no longer be interested ... we'll end up with the undocdumented source code that does not fit our guidelines and without knowing how to compile (which module is bound to what?). We will waste too much time plodding through the sources and trying to compile (because we are sooo incompetent!) ... same situation as last time we had an external programmer :(
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok) "What is worse than training your staff and losing them? Not training them and keeping them!"
-----Ursprüngliche Nachricht-----
Von: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] Im Auftrag von Jerry C. Adams
Gesendet: Tuesday, 05.3 2013 16:54
An: 'Midrange Systems Technical Discussion'
Betreff: RE: Programing requirements - Guidelines - Code Revision andExternal Programmers - Am I wrong
Pretty much what I was thinking, but, as always, you say it so much better, Rob.
Jerry C. Adams
IBM i Programmer/Analyst
Megalomania is the only form of sanity. -Winston Churchill
--
Home Office: 615-832-2730
email: midrange@xxxxxxxx
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of rob@xxxxxxxxx
Sent: Tuesday, March 05, 2013 8:45 AM
To: Midrange Systems Technical Discussion
Subject: Re: Programing requirements - Guidelines - Code Revision and External Programmers - Am I wrong
Reasonable and clear.
If the developer disagreed they should have spoken about it up front. For example, if your requirements were:
- No ILE concepts including, but not limited to: service programs, subprocedures, binding directories, multiple module programs, etc.
- All RPG variables must be 6 characters or less.
- No free format in RPG.
- Use of subroutines is discouraged and code should all be inline.
- Use of CALL is discouraged and code should be copied into the program.
- Use of /copy is discouraged.
Now I might object, strenuously. And I would try to get you to change your mind. If we could not reach a compromise then I would have to make a decision as to whether or not I needed the money that badly but I would follow your directions. I would reserve the right to bring up the discussion in the future.
Rob Berendt
--
IBM Certified System Administrator - IBM i 6.1 Group Dekko Dept 1600 Mail
to: 2505 Dekko Drive
Garrett, IN 46738
Ship to: Dock 108
6928N 400E
Kendallville, IN 46755
http://www.dekko.com
From: "Birgitta Hauser" <Hauser@xxxxxxxxxxxxxxx>
To: "'Midrange Systems Technical Discussion'"
<midrange-l@xxxxxxxxxxxx>,
Date: 03/05/2013 01:21 AM
Subject: Programing requirements - Guidelines - Code Revision and
External Programmers - Am I wrong
Sent by: midrange-l-bounces@xxxxxxxxxxxx
Do not want to start a never ending discussions but only get a few opinions.
We got a new external programmer who did the first enhancements.
Before he started he got a couple of programming guidelines (only a few ones around 10), among them:
1. New exported functions and procedures always start with the application label (XX_) 2. All new functions and procedures have to be documented and need a header like it is generated with RDp containing, Procedure Name, Purpose, Parameter Description 3. Prototypes for exported procedures must be copied into a different member (with the same name as the source member but a specific prefix) 4. If parameters must be added to existing functions/procedures they have to be documented within the header and have to be defined as optional parameters with OPTIONS(*NoPass).
5. Return values or output parameters or escape messages that indicate errors have to be handle after the procedure's call.
6. (Reference) Data structures that located in copy members and are used in almost all of our sources should not be enhanced (at least new sub-fields should not be included between the existing sub-fields). If an enhancement is necessary a complete compilation of all modules, programs, service programs have to be performed.
What happened: The programmer finished his work:
1. New exported procedures were generated but without label prefix 2. There is no documentation at all, not even a single row before the starting P-statement 3. The prototype is hardcoded within the source where the procedure is coded.
4. To several existing procedures a new required (not optional) parameter was added and not documented 5. No return value is checked (according to the programmer it is not
necessary)
6. A data structure that is included in almost all our sources (in multiple
applications) was enhanced, but no compilation started
I rejected the enhancements because they do not conform to the guidelines.
The comment of the programmer was: it works and why I should not snooping through his sources. He could not understand why I'm trying to play the boss. If I think I can it better I should do it myself.
Am I really wrong insisting in the programming guidelines are followed?
IMHO "working" is not all, also the source code must be documented and conform the guidelines.
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok) "What is worse than training your staff and losing them? Not training them and keeping them!"
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at
http://archive.midrange.com/midrange-l.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at
http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.