View previous topic :: View next topic |
Author |
Message |
mital_amit Beginner
Joined: 10 Sep 2004 Posts: 8 Topics: 2
|
Posted: Mon Aug 29, 2005 4:48 am Post subject: S390 Assembler Code Review Checklist |
|
|
Hi ,
I'm looking for a code review checklist for S390 Assembler to strengthen code reviews in our shop. Any inputs will be welcome.
Thanks,
Amit Mital |
|
Back to top |
|
|
dtf Beginner
Joined: 10 Dec 2004 Posts: 110 Topics: 8 Location: Colorado USA
|
Posted: Mon Aug 29, 2005 9:23 am Post subject: |
|
|
I think this is a pretty tough requirement.
Do you have any standards in place regarding Assembler coding techniques? Are you writing new code, or simply modifiying existing programs? What is the expertise level of the coders? Of the reviewers?
The answers to these questions may allow others to make suggestions regarding how to do the review.
________
marijuana vaporizer
Last edited by dtf on Tue Feb 01, 2011 2:01 pm; edited 1 time in total |
|
Back to top |
|
|
Cogito-Ergo-Sum Advanced
Joined: 15 Dec 2002 Posts: 637 Topics: 43 Location: Bengaluru, INDIA
|
Posted: Mon Aug 29, 2005 10:00 am Post subject: |
|
|
I would say, it is almost unrealsitic. I mean, a checklist is not a document available somewhere ready for downloading.
More questions...
Batch/Online?
LE/non-LE?
I am sure, there maybe other questions too. _________________ ALL opinions are welcome.
Debugging tip:
When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
-- Sherlock Holmes. |
|
Back to top |
|
|
mital_amit Beginner
Joined: 10 Sep 2004 Posts: 8 Topics: 2
|
Posted: Thu Sep 01, 2005 9:26 am Post subject: |
|
|
We have NO standards in place . We are required to write new code as well as maintain existing code. The expertise level ranges from super novice to novice (0-2 yrs) but the code is reviwed at customer end where folks have more than 15+ yrs experience in neat BAL
Some points which I came up with:-
1) Ensure that register counter is positive before we exceute a BCT instruction.
2) Ensure that Base registers are properly setup.
3) Ensure that top down , structured programming paradigm is followed ie stay away from spaghetti coding.
4) KNOW the difference between L and LA !
It would be great if some more pointers can be given or if we can learn from the experience of others or things to watch out for which can burn the fingers of an assembler programmer |
|
Back to top |
|
|
mital_amit Beginner
Joined: 10 Sep 2004 Posts: 8 Topics: 2
|
Posted: Thu Sep 01, 2005 9:44 am Post subject: |
|
|
Here are some more tips/guidelines which could be added . Would appreciate if someone could let me know if they are valid
|
|
Back to top |
|
|
mital_amit Beginner
Joined: 10 Sep 2004 Posts: 8 Topics: 2
|
Posted: Thu Sep 01, 2005 9:46 am Post subject: |
|
|
The code is both batch and online .
What is LE/Non LE?? |
|
Back to top |
|
|
Cogito-Ergo-Sum Advanced
Joined: 15 Dec 2002 Posts: 637 Topics: 43 Location: Bengaluru, INDIA
|
Posted: Thu Sep 01, 2005 10:01 am Post subject: |
|
|
Quote: | What is LE/Non LE?? |
LE stands for Language Environment. An assembler program complying LE requirements will be written in a slightly different manner than a normal Assembler program. Basically, it must call some LE macros before the real code begins. _________________ ALL opinions are welcome.
Debugging tip:
When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
-- Sherlock Holmes. |
|
Back to top |
|
|
Dibakar Advanced
Joined: 02 Dec 2002 Posts: 699 Topics: 63 Location: USA
|
Posted: Thu Sep 01, 2005 11:08 pm Post subject: |
|
|
Quote: |
An assembler program complying LE requirements will be written in a slightly different manner than a normal Assembler program.
|
Cogito,
I have also come across LE but didn't understand what it is. Could you provide an example to highlight the kind of differences in LE and non LE.
Thanks,
Diba |
|
Back to top |
|
|
mital_amit Beginner
Joined: 10 Sep 2004 Posts: 8 Topics: 2
|
Posted: Fri Sep 02, 2005 3:45 am Post subject: |
|
|
Hello Everyone ,
Any inputs. I was hoping someone would atleast critique this! |
|
Back to top |
|
|
dtf Beginner
Joined: 10 Dec 2004 Posts: 110 Topics: 8 Location: Colorado USA
|
Posted: Fri Sep 02, 2005 12:05 pm Post subject: |
|
|
1) Develop and use a set of standard naming conventions and enforce them
2) Use DSECTS when ever practical; avoid using hard coded offsets and lengths
3) Use EQU statements to calculate lengths and define register names
4) Develop and use a set of macros to perform repeatable functions tailored for the application and copy books to describe record layouts and common parameter areas
5) If possible, isolate I/O, consider having a common access routine for files, such that error handling can be incorporated into the routine
6) Insure proper care is taken in I/O handling, or other exception processing
7) In the event you are going to use the ABEND macro, insure that you have provided as much information as possible concerning the error condition
8) Be sure to either clear register 15, or set it to a return code on purpose when returning to the operating system (do not allow the Condition Code to be defaulted to some garbage)
9) When modifying a program, have a system of identifying the change, as to reason and date. These tracks can be valuable if a problem is later encountered in production.
10) Consider using reentrant coding techniques. Avoid self modifying code.
________
volcano classic |
|
Back to top |
|
|
|
|