A Coding Convention for C++ Code

This document was borrowed and slightly modified from the Berkeley Systems, Inc. coding conventions. If you're looking for something more comprehensive, try the Ellemtel C++ Rules and Recommendations: See also, Christopher Lott's collection of C and C++ style guides and the Mozilla portability guide.

Purpose

To make it easier for us to read each other's code, here are a few guidelines to follow when writing C++ code.

Definitions

Identifier Names

Class Declarations

Classes are declared in the following order: public member functions, protected member functions, private member functions, protected data members, and private data members. No data members may be declared public. For example:
class Application {
public:
    Application();
    ~Application();
    void Run();
protected:
    void EventLoop();
private:
    EventRecord itsLastMouseEvent;
}

Control Structures

The control structures are as follows:
if (expression) {
    statements;
} else {
    statements;
}

for (expression; expression; expression) {
    statements;
}

do {
    statements;
} while (expression);

while (expression) {
    statements;
}

switch (expression) {
case constant:
    statements;
    break;
default:
    statements;
    break;
}

/*  
 * long comments which need more than one line use
 * this block comment style, if you're writing C
 */

//
// if you're writing C++, your block comments should look more
// like this -- it's ugly to mix commenting styles
//

statement;           /* short C comments */
statement;           // short C++ comments

File Names

C++ source files use the suffix .cc. C++ header files use the suffix .h.
Dan Wallach, CS Department, Rice University
Last modified: Fri Oct 15 15:14:12 CDT 1999