ECE DEPARTMENT : NOTICE BOARD

ADVISORY TO STUDENTS (Answer to "Sir, College is there today ?")

Quote :
"If egg is broken by outside force, life ends. If broken by inside force, life begins. Great things always begin from inside force, trust yourself."

Batchwise blogs: -2008 | 2009 | 2010 | 2011 | 2012

Internal Marks Sem-II : | 2011 | 2010 | 2009 |

Intro | Case 1 | Case 2 | Case 3 | Case 4 | Case 5 |

Previous Posts

Monday, June 07, 2010

5th : Embedded Systems - Day 8

The weekend was used to brush up my programming skills along with social skills (guests at home !)

I decided to polish my software skills while the hardware is getting ready.
I visited the NASA JPL (Jet Propulsion Lab) resources and plucked a few rules out that must
be followed in serious software develpment. What I liked is the word serious.

Serious implies an awareness in the programmer of the consequences of bad design practices.
Serious implies an understanding of need to establish ground rules of good design.

I reproduce them below.

Now, I need to study each rule in depth and recollect all the skills.
I understand that C programming language is the most widely used at JPL.

The following guidelines are meant to state what the ground rules are for the software to be written:

Rule 1: Restrict all code to very simple control flow constructs.
Rule 2: All loops must have a fixed upper-bound.
Rule 3: Do not use dynamic memory allocation after initialization.
Rule 4: No function should be longer than what can be printed on a single sheet of paper in a standard reference format with one line per statement and one line per declaration.
Rule 5: The assertion density of the code should average to a minimum of two assertions per function.
Rule 6: Data objects must be declared at the smallest possible level of scope.
Rule 7: The return value of non-void functions must be checked by each calling function, and the validity of parameters must be checked inside each function.
Rule 8: The use of the preprocessor must be limited to the inclusion of header files and simple macro definitions.
Rule 9: The use of pointers should be restricted.
Rule 10: All code must be compiled, from the first day of development, with all compiler warnings enabled.

When I looked into the sky , I realised that even the moon was taking interest in C as it was slowly taking the Cresent shape tonight :)

Lot of work to do.

Have a nice day

No comments:

Post a Comment