dart_code_metrics 1.10.0 copy "dart_code_metrics: ^1.10.0" to clipboard
dart_code_metrics: ^1.10.0 copied to clipboard

discontinued
outdated[pending analysis]

Command line tool which helps to improve code quality. Reports cyclomatic complexity and method length in plain console, JSON, HTML and Codeclimate formats

Build Status Coverage Status License Pub Version Dart SDK Verison Dart Platform

Dart code metrics #

Dart code metrics is a static analysis tool that helps improve code quality. It analyzes code metrics and provides additional rules for dart analyzer. Can be used as a command line tool, analyzer plugin or library.

Reports:

Output formats:

  • Plain terminal
  • Codeclimate
  • HTML
  • JSON

Usage #

Analyzer plugin #

A plugin for the Dart analyzer library package providing additional rules from Dart code metrics.

  1. Add dependency to pubspec.yaml

    dev_dependencies:
      dart_code_metrics: ^1.8.0
    
  2. Add configuration to analysis_options.yaml

    analyzer:
      plugins:
        - dart_code_metrics
       
    dart_code_metrics:
      anti-patterns:
        - long-method
      metrics:
        cyclomatic-complexity: 20
        lines-of-executable-code: 50
        number-of-arguments: 4
      metrics-exclude:
        - test/**
      rules:
        - newline-before-return
        - no-boolean-literal-compare
        - no-empty-block
        - prefer-trailing-comma-for-collection
    

Command line tool #

Simple usage:

pub global activate dart_code_metrics
metrics lib

Full usage:

Usage: metrics [options...] <directories>
-h, --help                                             Print this usage information.
-r, --reporter=<console>                               The format of the output of the analysis
                                                       [console (default), json, html, codeclimate]

    --cyclomatic-complexity=<20>                       Cyclomatic complexity threshold
                                                       (defaults to "20")

    --lines-of-executable-code=<50>                    Lines of executable code threshold
                                                       (defaults to "50")

    --number-of-arguments=<4>                          Number of arguments threshold
                                                       (defaults to "4")

    --number-of-methods=<10>                           Number of methods threshold
                                                       (defaults to "10")

    --root-folder=<./>                                 Root folder
                                                       (defaults to current directory)

    --ignore-files=<{/**.g.dart,/**.template.dart}>    Filepaths in Glob syntax to be ignored
                                                       (defaults to "{/**.g.dart,/**.template.dart}")

    --verbose
    --set-exit-on-violation-level=<warning>            Set exit code 2 if code violations same or higher level than selected are detected
                                                       [noted, warning, alarm]

If you want command line tool to check rules, you should add configuration to your analysis_options.yaml as listed in Analyzer plugin usage example.

Library #

See example/example.dart

Anti-Patterns #

Rules #

Common #

Intl specific #

Angular specific #

936
likes
0
pub points
99%
popularity

Publisher

verified publisherdcm.dev

Command line tool which helps to improve code quality. Reports cyclomatic complexity and method length in plain console, JSON, HTML and Codeclimate formats

Repository (GitHub)
View/report issues

License

(pending) (LICENSE)

Dependencies

analyzer, analyzer_plugin, ansicolor, args, crypto, glob, html, meta, path, quiver, source_span, yaml

More

Packages that depend on dart_code_metrics