Discussing software coding style is akin to discussing religion. Although everybody thinks their style is the correct one, in actuality there are higher principles that guide the various philosophies, and in the end all philosophies try to do the right thing. These principles include clarity, consistency, self-documentation, compactness, maintainability, and error reduction to name just a few. Another important goal is to reduce the learning curve by making the code look like it was written by a single developer. This assists in the visual processing of large amounts of code.
Often associated with programming style are programming methodologies, for example, insuring that every class contain a PrintSelf() method, or insuring that no public data members are defined. In NAMIC, when we refer to style we also implicity include all the methodologies that go along with a system.
Role In NAMIC
Programming styles are enforced across software systems. For example, VTK, ITK, and CMake all enforce a particular style. Typically style guides are associated with each project. Software created for NAMIC will follow local project style guidelines, with any new software projects adopting styles consistent with other systems in the NAMIC software inventory.