A Ruby gem that aggregates multiple code quality metrics into unified reports to identify areas needing improvement.
MetricFu is a Ruby gem that aggregates multiple code quality analysis tools into unified reports. It helps developers identify complex, duplicated, or problematic code by running metrics like cyclomatic complexity, code duplication, code smells, and test coverage. The tool provides actionable insights to guide refactoring efforts and maintain code health.
Ruby developers and teams who want to monitor and improve their codebase quality, particularly those working on larger projects where technical debt accumulation is a concern.
Developers choose MetricFu because it provides a single interface to multiple code quality tools, saving time compared to running each tool separately. Its customizable configuration and multiple output formats make it adaptable to different team workflows and reporting needs.
A fist full of code metrics
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates over 10 tools like Flog, Flay, and Reek into a single report, saving time compared to running each separately.
Allows fine-grained control via a .metrics file to enable or disable specific metrics and set parameters, as shown in the configuration examples.
Supports HTML reports with graphs, YAML, and custom formatters, making it easy to adapt to different team workflows and reporting needs.
Enables adding custom formatters and switching graph engines (Bluff or Highcharts), allowing teams to tailor the tool to their specific requirements.
Configuring coverage metrics requires external steps like modifying spec_helper for SimpleCov, which can be error-prone and time-consuming.
Not all dependencies are cryptographically signed, forcing users to accept MediumSecurity trust, a noted limitation in the README that reduces security assurance.
Running multiple metrics simultaneously can be slow, especially on large codebases, impacting development speed due to the aggregated analysis.