How often have you thrown up your hands in disgust at the poor quality of documentation for an open source project? Wouldn’t it be nice if someone put together a documentation coverage tool that worked like test coverage too ls? Well, you’re in luck—dcov is here (at least for Ruby code).
dcov is still pretty immature (the current release is called ‘Young and Feeble’), but it’ showing a lot of promise. It’s already capable of verifying that each module, class, and method of your code is documented. The upcoming release adds coverage checking for each parameter to a method (and other goodies, see below).
One of the biggest problems with writing generic documentation coverage tools is that there is a real lack of standards for documentation. Jeremy MacAnally, the author of dcov, is trying to build some consensus on this. Take a look at his blog post on the topic. (Feel free to toss in your own two cents while you’re there.)
In the upcoming release, dcov provides a mechanism for writing your own analyzer—it’s still rough, but it looks a lot like an RSpec specification. Here’s the way Jeremy’s implemented parameter checking using the new mechanism:
documentation_for_methods do |the_documentation| the_documentation.must "document all parameters." do param_names_for(the_documentation.token).each do |param| the_documentation.token.reporting_data[:parameters_without_coverage] < ;< param unless the_documentation.token.comment.include?("") end if the_documentation.token.params end end
With this new feature, it should be easy to adapt dcov to whatever documentation standards exist within your own organization.
-- -pate http://on-ruby.blogspot.com
- Readers' Choice Awards 2013
- Mars Needs Women
- IBM Will Minimize Impact of Future Disasters
- Sublime Text: One Editor to Rule Them All?
- RSS Feeds
- December 2013 Issue of Linux Journal: Readers' Choice
- Raspberry Pi: the Perfect Home Server
- Tech Tip: Really Simple HTTP Server with Python
- Linux Systems Administrator
- Web Administration Scripts
- Sublime Is Brilliant!
2 hours 15 min ago
2 hours 35 min ago
- Rapid[Disk,Cache] better than native ram caching?
3 hours 5 sec ago
- Nothing is perfect
3 hours 13 min ago
- Mixtapes Community
8 hours 52 min ago
- KDE is one true DE
9 hours 26 min ago
- Command Line Shells (Bash, Zsh, etc.) are 2nd place
9 hours 55 min ago
11 hours 50 min ago
- yes it's Jupiter Broadcasting
13 hours 9 min ago
- nice to see PClinuxOS finally
15 hours 43 min ago