#include style
- Dominant language
- C
- Stars
- 193
- Forks
- 99
- Avg merge
- 1m
- Merged PRs (30d)
- 1
Description
I just came across LLVM's coding standard during my LLVM adventure, and found the paragraph about `#include` style inspiring:
> We prefer these #includes to be listed in this
> 1. Main Module
> 2. Local/Private Headers
> 3. LLVM project/subproject headers (clang/..., lldb/..., llvm/..., etc)
> 4. System #includes
>The [Main Module Header](https://llvm.org/docs/CodingStandards.html#main-module-header) file applies to .cpp files which implement an interface defined by a .h file. This #include should always be included first regardless of where it lives on the file system. By including a header file first in the .cpp files that implement the interfaces, we ensure that the header does not have any hidden dependencies which are not explicitly #included in the header, but should be. It is also a form of documentation in the .cpp file to indicate where the interfaces it implements are defined.
> LLVM project and subproject headers should be grouped from most specific to least specific, for the same reasons described above.
For more, check [this](https://llvm.org/docs/CodingStandards.html#include-style).
How about adding it to our coding conventions and `.clang-format`?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.