PengZheng opened a new issue, #742:
URL: https://github.com/apache/celix/issues/742

   I just came across LLVM's coding standard, 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`?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@celix.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to