You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2021/05/11 20:22:00 UTC

[jira] [Commented] (DISPATCH-836) Source file organization suffers from include hell

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

ASF GitHub Bot commented on DISPATCH-836:
-----------------------------------------

jiridanek opened a new pull request #1211:
URL: https://github.com/apache/qpid-dispatch/pull/1211


   @ChugR Do you think that `_private.h` need their own .c file too? I thought not, so I did not do it here. I dislike how the empty .c files pollute the src directory. But there is some value in having this even for private headers.


-- 
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.

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


> 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
>            Assignee: Jiri Daněk
>            Priority: Minor
>             Fix For: 1.17.0
>
>
> 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-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org