Introduction

Motivation

These coding guidelines were (and are being) made contemporarily to my daily work and try to
  1. enhance the code's readability and
  2. enable the programmer to detect and avoid errors as early as possible.
As far as possible, the guidelines have been designed independent from any programming language. The coding examples are given mostly in C++ and Delphi, since these are the languages we use. Other languages are used, if language dependent exceptions are discussed. Sentences or paragraphs that are meant for a single language are introduced by the language's name in parantheses (e.g. (C++)).

Occasionally certain restrictions are needed, when the pure theory turns to an obstacle (sometimes you haven't got a 'flying brick'1 like a Pentium, but the simple micro controller of a washer). If neccessary exceptions could be foreseen, they are considered in this document.

Today the capabilities of the proposed ANSI standard 3.0 for C++ (as name spaces, e.g.) are not considered yet. This is also true for the Ada 9x style guide.

If have been asked to translate the guidelines into english to reach an international audience. However, the german version is the master document. If anything is uncomprehensible or seems to be contradictory, information may be lost by the translation. In this case refer to the Programmierrichtlinien document or just send me a mail.

Credits

A document like this lives from contributions and suggestions of many people. I'd like to thank all the people, who contributed to this paper (these are especially R.Marx and my former colleagues at ela soft) and will contribute. I'm always glad to receive constructive suggestions, which will reach me at
Berlin, May 21st 1997

1 An allude to an insignificant B-movie, where an air force commander explains to his pilots that the McDonnel-Douglas F4 (Phantom) is "the United States' prove to the world that even a brick can fly, if you fix wings and a strong engine to it."


[back] | [next] | [TOC] | [Layout] | [Programming Style Guide] | [Annexes]


Copyright © 1997-98 by Uwe Sauerland