diagnostic_updater/Reviews/Jan 11 2010 Doc Review
Reviewer:
- Josh
Instructions for doing a doc review
See DocReviewProcess for more instructions
- Does the documentation define the Users of your Package, i.e. for the expected usages of your Stack, which APIs will users engage with?
Yes
- Are all of these APIs documented?
They have API documentation, with no real usage or tutorial documentation.
- Do relevant usages have associated tutorials? (you can ignore this if a Stack-level tutorial covers the relevant usage), and are the indexed in the right places?
No
- If there are hardware dependencies of the Package, are these documented?
N/A
- Is it clear to an outside user what the roadmap is for the Package?
No, but I'm not sure it's necessary
- Is it clear to an outside user what the stability is for the Package?
Yes
- Are concepts introduced by the Package well illustrated?
No -- the single example introduces far too many concepts
- Is the research related to the Package referenced properly? i.e. can users easily get to relevant papers?
- Are any mathematical formulas in the Package not covered by papers properly documented?
For each launch file in a Package
- Is it clear how to run that launch file?
- Does the launch file start up with no errors when run correctly?
- Do the Nodes in that launch file correctly use ROS_ERROR/ROS_WARN/ROS_INFO logging levels?
Concerns / issues
- Example should be in the wiki, and split/expanded (way too many concepts introduced in too little space and with little explanation). Here's a possible breakdown:
Working with DiagnosticStatusWrapper
Using the Updater, explanation of Tasks etc.
- Diagnosed publisher
- Frequency tracking (non publisher)
- Other issues with the example
- Underscored functions/methods instead of camel case
- Magic numbers used (0/1/2) for ok/warn/error. They are also not explained in the example.
Unclear what adding a task to the HeaderlessTopicDiagnostic actually does. Does calling tick() also run all of the tasks? Is it supposed to have been added to the Updater?
This is API not doc, but diagnostic_updater::Updater::force_updater() is underscored instead of camel case
- There are a few other underscored methods as well
Is FunctionDiagnosticTask only useful when paired with CompositeDiagnosticTask?
Usage for HeaderlessTopicDiagnostic/FrequencyStatusParam are unclear.
- Why are min/max freq pointers?
- Other arguments to constructor are not explained.
Conclusion
Needs some work before I would consider it 1.0 ready.