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



The guidelines are excellent in my view, and you have just provided an excellent template for others to follow!

The bottom line is you gave the remote employee instructions about how to complete the job given to him. He failed to follow those instructions. He does not get paid, since those instructions were part of the job and you can use what he did.

If you took your car into a repair shop to get a dent in the door fixed, and the shop painted the door a different color than the rest of the car, would you pay for it? Same thing in this case, he made the programs a different color, either through laziness or lack of knowledge, but in the end, he did not do the job.

Jim Oberholtzer
Chief Technical Architect
Agile Technology Architects


On 3/5/2013 12:21 AM, Birgitta Hauser wrote:
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.