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



May I add an observation or two? The frustration is no doubt felt by all three points of view that are involved here; the boss, you, the external programmer.

Here are some things I have found useful in my gaining understanding of a client's standards. I list these because the battles in your shop are still on-going, and these are ideas that have helped me.

- Design Template(s). Simple, rudimentary applications that meet your standards and demonstrate how your shop expects programs to work. These templates need to be simple; say under 100 lines of code.
- Certain tasks should not be left to programmers who are new to your shop, whether as employee or contractor. Naming of programs, procedures, files, and fields in data files should all be done by someone who understands the shop's conventions. (Naming standards are never as simple as the Standards Document says. There are patterns that defy description but are never the less valid.)
- Twice-a-day reviews of progress until the project's design framework is established and acceptable.
- Don't let the contractor exist in a vacuum in your shop and then be surprised when he does not perform as hoped. A contractor is no different than a new employee in this regard.

One last comment: Does the boss agree with you about creating code that is maintainable later on? If he doesn't care about long-term maintainability then he may be looking at your devotion to standards as being obstructionist and counter productive - hardly a winning position for you to be in.





On 3/6/2013 12:41 AM, Birgitta Hauser wrote:
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!"




As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.