Skip to content

ADIOS2 Coding Guidelines

Chuck Atkins edited this page May 5, 2017 · 26 revisions

ADIOS2 is written using the C++11 standard using a balanced object-oriented (runtime) and template metaprogramming (compile time) architecture. This wiki page contains guidelines that all developers must follow for code standardization. Contents are always open for corrections, new ideas, and suggestions. Many topics are taken from Stroustrup, and Meyers books on C++11, the clang-format style, and Google's C++ style guide.

Objectives

Collaboration

  • Make your work easy to understand and share among members of the ADIOS2 community
  • Allocate more time for path-finding new functionality and performance improvements rather than understanding developers' coding styles
  • Expand developers and users base by building a standardized and attractive infrastructure

Execution

  • Translate new research ideas into production by reusing features already in the C++11 standard or in the ADIOS2 infrastructure

Quality

  • Improve the quality of the final software product: reduce potential security risks (segmentation faults, memory leaks and overflows)

Contents