This wiki page contains coding guidelines that all developers must follow as standard practice in ADIOS 2.0 to take full advantage of the latest C++11 standard. This list is open as corrections and new ideas/suggestions come in place. Take them as mandatory good practices to improve ADIOS2 development and collaboration. Many topics are taken from Stroustrup, Sutter, and Meyers books, the clang-format, and google C++ style guide.
#Objectives
<h3class=""><code>Collaboration</code></h3>
-```Collaboration```
- Make your work easy to understand and share
- Allocate more time for path-finding, new functionality, and performance improvements rather than understanding developers' coding styles
- Expand developers and users base
<h3class=""><code>Execution</code></h3>
-Execute new ideas faster by using features already in the language standard
- ```Execution```
- Translate new research ideas into production by reusing features already in the C++11 standard or in the ADIOS2 infrastructure
<h3class=""><code>Quality</code></h3>
- ```Quality```
- Improve the quality of the final software product: reduce potential security risks (segmentation faults, memory leaks and overflows)