forked from jscruggs/metric_fu
-
Notifications
You must be signed in to change notification settings - Fork 96
TODO.md
Benjamin Fleischer edited this page Nov 6, 2013
·
1 revision
- Keep HISTORY.md in master up to date
Items in each category are in generally order of decreasing priority. The categories themselves are not in any priority order.
Also see CONTRIBUTING
- Make it easier to whitelist metrics when running from the commanline (cli)
- Be able to specify folders to run against rather than just app and lib
- Be able to run metric tools from metric_fu without shelling out
- Allow the coverage task to specify the command it runs plus any flags (see bundler/capistrano options)
- Add configurable logger to all output streams
- Load all gems at config time so you fail fast if one is missing
- Color code flog results with scale from: http://jakescruggs.blogspot.com/2008/08/whats-good-flog-score.html
- Make the template pages prettier (hold off until 61 is merged)
- Be able to generate historical metrics for eg gem releases (tagged with appropriate date)
- Test against a rails app, see yui-rails
- Determine how to test metric_fu against codebases that are not metric_fu, to ensure it works on most applications
- This is especially true for rails applications
- Remove / Modify Devver code from the generators/hotspots_spec and base/hotspot_analzyer_spec
- Add tests
- Remove useless tests
- Remove tests that use StandardTemplate. Will require updating tests yml output, which may not be easy
- See issues
- Look into getting rails_best_practices, cane, and flog to use a non-MRI-specific parser, such as parser, aka not Ripper
- See TODO items in the code
- Change how config works to not metaprogrammatically create so many instance variables and accessors
- Clarify the execution path and what a metric's api should be, (repeat for templates and graphs)
- Change MetricFu.report.add(metric) to e.g. MetricFu.generate_report(metric) to make clear that this actually runs the tool
- Clarify hotspot weighting
- Update the wiki with use cases
- Review how metric_fu uses each tools to generate metrics, e.g. by shelling out commands, rake task, modifying the output, etc.
- Understand and explain s-expressions and how they're used (or should be ) in line_numbers.rb (via the ruby_parser)
- maybe see reek tree dresser and reek code parser or
- ripper-tags
- Remove dead code
- Determine if CodeIssue is used, else remove it
- Remove references to Ruport from the Devver / Caliper code
- Understand and explain how each metric can be used
- Improve metric_fu code metrics
- Refactor the hotspots code
- Is there any reason not to remove the Manifest.txt?
- Consider removing need for the core extensions (ActiveSupport)
- Get the rdoc (or yard) published
- Add more inline documentation
- See other documentation code for examples to improve ours:
- Look into issues for the tools metric_fu uses
- Look into other tools that might work well
- Update contributing or issue guidlines
- Suggest commit message guidelines
- Update the homepage
- Look into how to manage plugins or otherwise load abritrary metrics
- Look into adding
-
https://github.com/metricfu/code_statistics 1
- or extract from rails into a gem rake task can be modified by rspec with the calculator and class
- brakeman https://github.com/metricfu/brakeman
- laser https://github.com/metricfu/laser
-
https://github.com/metricfu/code_statistics 1
- Other intersting libraries to consider:
- https://gist.github.com/4562865 for generating Flog on ERB templates by jamesmartin
- https://github.com/chad/turbulence churn and complexity (flog)
- https://github.com/vinibaggio/discover-unused-partials
- https://github.com/metricfu/heckle (test mutation)
- https://github.com/mbj/mutant (test mutation)
- https://github.com/metricfu/gauntlet
- https://github.com/metricfu/repodepot-ruby https://twitter.com/jakescruggs/status/70521977303076865
- https://github.com/eladmeidar/rails_indexes
- https://github.com/trptcolin/consistency_fail
- https://github.com/thoughtbot/appraisal
- https://github.com/jenkinsci/rubymetrics-plugin
- https://github.com/holman/hopper
- https://github.com/eric/metriks