MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

S390 Assembler Code Review Checklist

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Application Programming
View previous topic :: View next topic  
Author Message
mital_amit
Beginner


Joined: 10 Sep 2004
Posts: 8
Topics: 2

PostPosted: Mon Aug 29, 2005 4:48 am    Post subject: S390 Assembler Code Review Checklist Reply with quote

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
View user's profile Send private message
dtf
Beginner


Joined: 10 Dec 2004
Posts: 110
Topics: 8
Location: Colorado USA

PostPosted: Mon Aug 29, 2005 9:23 am    Post subject: Reply with quote

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
View user's profile Send private message
Cogito-Ergo-Sum
Advanced


Joined: 15 Dec 2002
Posts: 637
Topics: 43
Location: Bengaluru, INDIA

PostPosted: Mon Aug 29, 2005 10:00 am    Post subject: Reply with quote

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
View user's profile Send private message
mital_amit
Beginner


Joined: 10 Sep 2004
Posts: 8
Topics: 2

PostPosted: Thu Sep 01, 2005 9:26 am    Post subject: Reply with quote

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
View user's profile Send private message
mital_amit
Beginner


Joined: 10 Sep 2004
Posts: 8
Topics: 2

PostPosted: Thu Sep 01, 2005 9:44 am    Post subject: Reply with quote

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
View user's profile Send private message
mital_amit
Beginner


Joined: 10 Sep 2004
Posts: 8
Topics: 2

PostPosted: Thu Sep 01, 2005 9:46 am    Post subject: Reply with quote

The code is both batch and online .
What is LE/Non LE??
Back to top
View user's profile Send private message
Cogito-Ergo-Sum
Advanced


Joined: 15 Dec 2002
Posts: 637
Topics: 43
Location: Bengaluru, INDIA

PostPosted: Thu Sep 01, 2005 10:01 am    Post subject: Reply with quote

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
View user's profile Send private message
Dibakar
Advanced


Joined: 02 Dec 2002
Posts: 699
Topics: 63
Location: USA

PostPosted: Thu Sep 01, 2005 11:08 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
mital_amit
Beginner


Joined: 10 Sep 2004
Posts: 8
Topics: 2

PostPosted: Fri Sep 02, 2005 3:45 am    Post subject: Reply with quote

Hello Everyone ,

Any inputs. I was hoping someone would atleast critique this!
Back to top
View user's profile Send private message
dtf
Beginner


Joined: 10 Dec 2004
Posts: 110
Topics: 8
Location: Colorado USA

PostPosted: Fri Sep 02, 2005 12:05 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Application Programming All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group