View Source

h1. Introduction

This page defines guidelines and best practice when developing C+\+ components for the SCAPE project. It has been defined as part of the initial functional review (MS17), however these guidelines are open for discussion, amendment and adaptation as appropriate.

h1. C+\+

The following section provides guidelines for developing software using C+\+

h2. Coding Standards

[Google C+\+ Style Guide|http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml] SHOULD be used. This guide provides succinct summaries for each topic, with the possibility to expand the summary to provide further details and explanation.

h2. Comments

Please use them :-)

h2. Doxygen

Doxygen SHOULD be used to produce documentation for your code.

h2. Unit Tests

Up-to-date unit tests MUST accompany _ALL_ non-trivial code.

If in doubt about the triviality of a method, save time wondering and write a test any way. If you're finding it hard to design or write a test for a particular piece of functionality, it probably means you don't fully understand what you're about to try to implement.

Unit Tests are good because:
* They help reduced bugs in new and existing features.
* Help improve design and facilitate re-factoring.
* Provide working examples for other programmers, and supporting documentation (though you remembered the JavaDoc, right?).
* Help those who may have to work on the code in the future.