dartrics 0.4.0 copy "dartrics: ^0.4.0" to clipboard
dartrics: ^0.4.0 copied to clipboard

Citation-anchored Dart code-quality metrics (CK, Halstead, McCabe, Martin, Cognitive) plus Periphery-style unused public-API detection, shaped for AI refactor loops.

example/main.dart

// Minimal example: compute a single function metric on inline source.
//
// Most users will run `dartrics analyze .` from the command line. This
// file shows how to drive an individual metric calculator from Dart for
// custom tooling — e.g. building a CI bot or an editor extension.

import 'package:analyzer/dart/analysis/utilities.dart';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:dartrics/dartrics.dart';

void main() {
  const source = '''
int classify(int x, int y) {
  if (x > 0 && y > 0) return 1;
  if (x < 0 || y < 0) return -1;
  return 0;
}
''';

  final unit = parseString(content: source).unit;
  final declaration = unit.declarations.whereType<FunctionDeclaration>().single;
  final input = FunctionMetricInput(
    context: (
      unit: unit,
      source: source,
      lineInfo: parseString(content: source).lineInfo,
    ),
    declaration: declaration,
  );

  // Each metric ships its own short rationale and a list of refactor hints
  // — `dartrics rules` emits them for the whole catalogue.
  const cc = CyclomaticComplexity();
  print('${cc.id} = ${cc.compute(input)}');
  print('rationale: ${cc.rationale}');
  print('refactor hints:');
  for (final hint in cc.refactorHints) {
    print('- $hint');
  }
  print('dartrics version: $dartricsVersion');
}
0
likes
0
points
831
downloads

Publisher

verified publisherkoji-1009.com

Weekly Downloads

Citation-anchored Dart code-quality metrics (CK, Halstead, McCabe, Martin, Cognitive) plus Periphery-style unused public-API detection, shaped for AI refactor loops.

Repository (GitHub)
View/report issues

Topics

#metrics #lint #analyzer #ai #quality

License

unknown (license)

Dependencies

analysis_server_plugin, analyzer, args, crypto, dapper, glob, io, logging, meta, path, pool, yaml

More

Packages that depend on dartrics