Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion docs/source/conventions/cxx_conventions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ This page introduces the NWX team's coding conventions for writing C++. All pull
requests are expected to adhere to these conventions. When possible
``clang-format`` will be used to enforce them; however, it is not possible to
automatically enforce all of these conventions. This page is primarily targeted
at conventions which you must manually adhere to, while ``ci/lint/clang-format.in`` is
at conventions which you must manually adhere to, while
``ci/lint/clang-format.in`` is
the linting file used and should be consulted for the conventions which will be
automatically enforced.

Expand Down
32 changes: 32 additions & 0 deletions docs/source/conventions/file_structure.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,38 @@ repo we are able to facilitate:
the NWChemEx organization. By adhering to such standard we lower the barrier
to entry for new developers.

***********************
File Naming Conventions
***********************

- To avoid pitfalls related to differences in operating system behavior, all
files should be "lower_snake_case", i.e., all lowercase letters, underscores
for separating words.
- It is strongly recommended you stick to letters, numbers, and underscores
only. Notably avoid symbols like ``*``, ``?``, ``(``, ``)``, ``'``,
and ``"``.

Extensions
==========

- C++ header files end with ``*.hpp``, e.g., ``file_name.hpp``.
- C++ source files end with ``*.cpp``, e.g., ``file_name.cpp``.
- C++ inline implementation files end with ``*.ipp``, e.g., ``file_name.ipp``.
- CMake modules end with ``*.cmake``, e.g., ``file_name.cmake``.
- (GitHub-flavored) Markdown end with ``*.md``, e.g., ``file_name.md``.
- Python source files end with ``.py``, e.g., ``file_name.py``.
- ReStructured Text files end with ``.rst``, e.g., ``file_name.py``.


Exceptions
==========

The following exceptions to the above file naming conventions are allowed:

- CMake build systems should be stored in one or more ``CMakeLists.txt``.
- Reason for exception: CMake convention.


*********************
Files and Directories
*********************
Expand Down
1 change: 1 addition & 0 deletions docs/source/conventions/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,4 @@ Repository Conventions
:maxdepth: 2

file_structure

Loading