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.
The following section provides guidelines for developing software using C++
Google C++ Style Guide SHOULD be used. This guide provides succinct summaries for each topic, with the possibility to expand the summary to provide further details and explanation.
Please use them
Doxygen SHOULD be used to produce documentation for your code.
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.