[net.lang] C language standards

bcw (10/20/82)

From:	Bruce C. Wright @ Duke University
Re:	C language standards

The language standards as posted by Walt Barnes strike me as a mixture
of things which all programmers should always do, rules or not (for
example, checking return values from functions - something too often
left out!), and things which are not very useful and in some cases
even somewhat dangerous.

For example, it is usually a good idea to keep a record of the authors
of a program (original author and *all* modifiers).  A convenient place
to do this is in the source code (not all of us have access to something
like sccs, and I'm not even sure that that's the best place for all this
information).  The reason for the modification should also be placed
where it can be found easily.  The file modification date is also
insufficient - files often get moved around and the file modification
date is going to get changed even though the file wasn't modified.

Many of the rules on formatting (like alignment of declarations and
placement of braces) strike me as being restrictive with only minimal
benefit at best.  Probably it would be sufficient to reccommend that
the format of the program should reflect its structure.

It is true that there can be problems getting things like module
headers updated when the file is edited, but if the programmers in
the project will not adhere to this voluntarily it is possible to
appoint a project librarian who ensures that reasonable standards
are followed - this person (and presumably the project leader if the
two are distinct people) would be the only member of the team who had
the authorization to update the production versions of the modules.
This is often done in large programming environments where management
feels that standards might not be followed by some of the programmers
simply because of the diffuse nature of a large organization.  It is
true that this is inconvenient (and probably to be avoided if you have
confidence in the team), but it is possible as a last resort (how else
will the other standards be enforced?).

On the whole most of the rest of it looks reasonable.

			Bruce C. Wrihght @ Duke University