Updated ADIOS2 Coding Guidelines (markdown) authored by williamfgc's avatar williamfgc
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
<h3 class=""><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
<h3 class=""><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
<h3 class=""><code>Quality</code></h3>
- ```Quality```
- Improve the quality of the final software product: reduce potential security risks (segmentation faults, memory leaks and overflows)
......
......