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.
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.