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