CompuServe Messages

Software Design

    28-Aug-93 08:35:39
Sb: Software Design
Fm: dan barber 72010,2527
To: Syndesis 76004,1763
John, I have been following your conversation with Steve and thought I would throw in a few cents. I am a developer for Martin Marietta. I have been writing software for 5 years: 4 years of PL/1, FORTRAN, COBOL on a mainframe and 1 year developing in C on Sun platform. I have seen many styles of implementation; some good, some bad. One thing that has, IMO, hindered our development efforts are requirements to: 1) Name all software components (.c, .h, functions, variables, etc) using a given standard. 2) Provide detailed prologues for every function (Roughly, a page or more in length) 3) Deleting debug statements from software before building to controlled library 4) Style guides for code development: e.g. placement of braces if (TRUE) { } v.s. if (TRUE) { } Now, the question I ask myself is, what value is added to the software by requiring these things? 1) Some of our variable names, and function names are 32 or more chars. They become unreadable for the most part, and hard to maintain. As long as names are logical, this reqt. doesnt add anything. (Use of emacs and tags makes following software a breeze, anyway) 2) Multipage prologues per function are a huge overhead. Good comments are all that are needed. 3) No sense at all. I must admit, my latest project does not require this (Use of #if's, asserts is a must!). 4) Some value here. I would prefer programmers to write all statements using {}'s so that a future programmer can add statements within {}'s. e.g. if (TRUE) { done = TRUE;} v.s. if (TRUE) done = TRUE; That would be the extent of my reqt however. Anyway, I hope to make some changes on my project to maximize maintainability while minimizing bureaucracy. Take care! Dan Barber Software Design Engineer barber@mdso.vf.ge.com My opinions are my own, and not representative of Martin Marietta Corp.