Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doxygen cleanup #2605

Merged
merged 13 commits into from
Mar 17, 2019
Merged

Doxygen cleanup #2605

merged 13 commits into from
Mar 17, 2019

Conversation

jngrad
Copy link
Member

@jngrad jngrad commented Mar 16, 2019

Changes:

  • Library interfaces are now visible in Doxygen (fixes Make documentation of library interfaces visible #2587)
  • Doxygen warnings:
    • some warnings were masking other warnings, there were ~30 warnings with doxygen-1.8.13 (Ubuntu 18) and 93 with doxygen-1.8.16 (latest GitHub version, has more sanity checks)
    • currently only 10 warnings remain, we probably won't go any lower than that:
      • 3 member <NAME> belongs to two different groups. The second one found here will be ignored.: happens when a function is declared in a group in the .hpp file but defined in another group in the .cpp file. This is usually caused by the "Private functions" and "Exported functions" groups in .hpp files.
      • 4 documented symbol <NAME> was not declared or defined.: known bug, fixed in 1.8.16
      • 3 no uniquely matching class member found for <NAME>: known bug, still not fixed
  • Clang -Wdocumentation compiler warnings:
    • went from 2416 warnings to 0 (on maxset without CUDA)
    • only 61 of these warnings were unique, they propagated through #include recursively
    • this compiler option has limited support for Doxygen commands, so we won't add it to CMake (e.g. both @param p1,p2 Details and @return @ref ES_OK fail, see also bug 17437)
  • Parts of the code were changed without affecting the program logic:
    • fixed a mistake in two runtime_error messages (AutoParameters.hpp)
    • removed a duplicate function declaration written in the wrong file (bonded_tab.hpp)
    • used ES_OK and ES_ERROR instead of 0 and 1 when it made sense to do so (if macros were mixed with hard-coded values, or just to be consistent across related functions)
    • enforced constness in a few functions with mixed input/output pointer parameters of type T*: input is now T const *const, output is now T *const

jngrad added 13 commits March 14, 2019 13:26
Already declared in nonbonded_tab.hpp, probably a copy-paste mistake.
When the same Doxygen block appears in both the declaration (.hpp) and
definition (.cpp) of a function, only keep it in the .hpp file.
* Removed most of the remaining Doxygen warnings (11 left,
  of which 7 are known bugs)
* Updated all problematic \param
* Added new groups when necessary
* Updated several broken links
* Reduced Doxygen duplication with \copybrief and \overloaded
* Used ES_OK & ES_ERROR instead of 0 & 1 when it made sense to do so
The Clang -Wdocumentation option flags Doxygen syntax errors.
These compiler warnings propagate through include statements.
Went from 2416 warnings down to 833 warnings
(that is from 61 unique warnings down to 26).
The Clang -Wdocumentation option flags empty \param commands.
These compiler warnings propagate through include statements.
Cleaned up struct members \brief to facilitate the use of
\copybrief in empty \param lines.
Went from 833 warnings down to 400 warnings
(that is from 26 unique warnings down to 10).
The Clang -Wdocumentation option flags empty \param commands.
These compiler warnings propagate through include statements.
Many problematic functions were removed in upstream.
Went from 400 warnings down to 0 warnings
(that is from 10 unique warnings down to 0).
The number of Doxygen warnings increased from 11 to 30.
* Removed most of the remaining Doxygen warnings introduced during
  the merge with upstream (10 left, 7 are known bugs)
* Removed duplicate Doxygen blocks
* Formatting
- input argument:  `T*` -> `T const *const`
- output argument: `T*` -> `T *const`
- update \param directions accordingly
@jngrad
Copy link
Member Author

jngrad commented Mar 16, 2019

Coverxygen Report

Merging #2605 into python will increase documentation coverage by 0.8%

@@                Coverage Diff                    @@
## Items          python   #2605    +/-   coverage ##
=====================================================
  Files            30.6%   30.6%   +0.0%   193/631
  Namespaces        2.9%    2.9%   +0.0%     2/69
  Typedefs          8.4%    9.2%   +0.8%    12/131
  Defines          23.7%   23.7%   +0.0%   123/519
  Unions          100.0%  100.0%   +0.0%     1/1
+ Structs          53.2%   55.2%   +1.9%    85/154
  Classes          23.0%   23.0%   +0.0%    44/191
    -> Variables   39.7%   40.2%   +0.4%   654/1628
    -> Friends     12.5%   12.5%   +0.0%     1/8
+ Enums            40.0%   45.0%   +5.0%     9/20
+   -> Values      50.7%   59.4%   +8.7%    82/138
  Functions        42.7%   43.1%   +0.4%  1661/3855
+   -> param       26.8%   28.1%   +1.3%  1567/5584
    -> tparam       4.3%    4.3%   +0.0%    17/392
=====================================================
+ Total            32.6%   33.4%   +0.8%  4451/13321

@codecov
Copy link

codecov bot commented Mar 16, 2019

Codecov Report

Merging #2605 into python will increase coverage by <1%.
The diff coverage is 68%.

Impacted file tree graph

@@           Coverage Diff           @@
##           python   #2605    +/-   ##
=======================================
+ Coverage      78%     78%   +<1%     
=======================================
  Files         496     496            
  Lines       27353   27354     +1     
=======================================
+ Hits        21509   21510     +1     
  Misses       5844    5844
Impacted Files Coverage Δ
src/core/cluster_analysis/Cluster.hpp 100% <ø> (ø) ⬆️
src/core/bonded_interactions/angle_cosine.hpp 100% <ø> (ø) ⬆️
src/core/virtual_sites/VirtualSitesRelative.hpp 100% <ø> (ø) ⬆️
...rid_based_algorithms/electrokinetics_pdb_parse.cpp 0% <ø> (ø) ⬆️
src/core/bonded_interactions/fene.cpp 100% <ø> (ø) ⬆️
src/core/errorhandling.cpp 58% <ø> (ø) ⬆️
src/core/statistics.cpp 57% <ø> (ø) ⬆️
src/core/bonded_interactions/quartic.hpp 0% <ø> (ø) ⬆️
src/pdbparser/include/PdbParser.hpp 100% <ø> (ø) ⬆️
src/core/utils/Histogram.hpp 98% <ø> (ø) ⬆️
... and 52 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 24fa8ec...c49a549. Read the comment docs.

@fweik fweik merged commit 9ffb55a into espressomd:python Mar 17, 2019
@jngrad jngrad deleted the doxy-warnings2 branch January 18, 2022 12:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make documentation of library interfaces visible
2 participants