[ 
https://issues.apache.org/jira/browse/DISPATCH-836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17313819#comment-17313819
 ] 

Jiri Daněk commented on DISPATCH-836:
-------------------------------------

So in other words, it's the Google ordering, 
https://google.github.io/styleguide/cppguide.html#Names_and_Order_of_Includes

It should be possible to automate the reordering, 
https://clang.llvm.org/docs/ClangFormatStyleOptions.html, option 
IncludeCategories

> Source file organization suffers from include hell
> --------------------------------------------------
>
>                 Key: DISPATCH-836
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-836
>             Project: Qpid Dispatch
>          Issue Type: Improvement
>          Components: Container, Router Node, Routing Engine
>    Affects Versions: 0.8.0
>            Reporter: Charles E. Rolke
>            Priority: Minor
>             Fix For: Backlog
>
>
> Adding an innocent looking #include to some module may unleash a barrage of 
> errors instead of simply defining the header's interface. Reordering and/or 
> adding more #include statements is required to get it right.
> A good way to address this is to make certain that each module.h file 
> compiles cleanly on its own. It is tedious and pretty unrewarding to check 
> each file. One strategy to address this problem is for each module to 
> _#include module.h_ as the first include\[1\]. Then every compile checks that 
> the module.h files compiles cleanly. This strategy is recommended by 
> astitcher and used by qpid-cpp with great results.
> \[1\] One exception to this rule is including the #include Python.h ahead of 
> all others. This is a requirement.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to