スキル一覧に戻る
KitfoxPilot

dart-analysis

by KitfoxPilot

0🍴 0📅 2026年1月25日
GitHubで見るManusで実行

SKILL.md


Dart Analysis

Overview

Static analysis configuration for MagentaLine EFB with aviation-grade code quality standards.

Quick Start

Strict Analysis Setup

# analysis_options.yaml
include: package:flutter_lints/flutter.yaml

analyzer:
  language:
    strict-casts: true
    strict-inference: true
    strict-raw-types: true
  errors:
    missing_return: error
    missing_required_param: error
    must_be_immutable: error
    invalid_use_of_protected_member: error
  exclude:
    - "**/*.g.dart"
    - "**/*.freezed.dart"
    - "build/**"
    - ".dart_tool/**"

linter:
  rules:
    # Error Prevention
    - always_use_package_imports
    - avoid_dynamic_calls
    - avoid_slow_async_io
    - cancel_subscriptions
    - close_sinks
    - literal_only_boolean_expressions
    - no_adjacent_strings_in_list
    - throw_in_finally
    - unnecessary_statements

    # Type Safety
    - avoid_types_as_parameter_names
    - avoid_return_types_on_setters
    - prefer_typing_uninitialized_variables
    - type_annotate_public_apis

    # Aviation Safety Critical
    - invariant_booleans
    - avoid_double_and_int_checks
    - use_is_even_rather_than_modulo

Aviation Safety Rules

For safety-critical aviation code, enable strict analysis:

analyzer:
  errors:
    # Treat these as errors, not warnings
    dead_code: error
    unused_element: error
    unused_import: error
    unused_local_variable: error

    # Safety-critical
    always_require_non_null_named_parameters: error
    avoid_null_checks_in_equality_operators: error
    null_check_on_nullable_type_parameter: error

Running Analysis

# Run analyzer
dart analyze

# With specific options
dart analyze --fatal-infos --fatal-warnings

# Generate machine-readable output
dart analyze --format=machine > analysis.txt

# Fix auto-fixable issues
dart fix --apply

Code Metrics

See references/code_metrics.md for metrics thresholds.

# Install dart_code_metrics
dart pub global activate dart_code_metrics

# Run metrics analysis
dart pub global run dart_code_metrics:metrics analyze lib

# Generate HTML report
dart pub global run dart_code_metrics:metrics analyze lib --reporter=html

# Check against thresholds
dart pub global run dart_code_metrics:metrics analyze lib \
  --set-exit-on-violation-level=warning
MetricThresholdDescription
Cyclomatic Complexity≤10Paths through code
Lines of Code≤50Per function
Number of Parameters≤4Per function
Maximum Nesting≤4Nested blocks
Maintainability Index≥40Overall maintainability

Custom Lint Rules

See references/custom_lints.md for creating project-specific rules.

# pubspec.yaml
dev_dependencies:
  custom_lint: ^0.5.0
  magentaline_lints:
    path: packages/magentaline_lints

Pre-commit Hook

#!/bin/bash
# .git/hooks/pre-commit

echo "Running Dart analysis..."
dart analyze --fatal-warnings
if [ $? -ne 0 ]; then
  echo "Analysis failed. Fix issues before committing."
  exit 1
fi

echo "Checking formatting..."
dart format --set-exit-if-changed lib test
if [ $? -ne 0 ]; then
  echo "Format issues found. Run 'dart format lib test'"
  exit 1
fi

IDE Integration

VS Code

// .vscode/settings.json
{
  "dart.analysisExcludedFolders": [
    "build",
    ".dart_tool"
  ],
  "dart.lineLength": 100,
  "editor.formatOnSave": true,
  "[dart]": {
    "editor.defaultFormatter": "Dart-Code.dart-code",
    "editor.rulers": [80, 100]
  }
}

References

DocumentDescription
references/code_metrics.mdMetrics configuration and thresholds
references/custom_lints.mdCreating custom lint rules
references/analysis_rules.mdComplete rule reference
assets/analysis_options.yamlReady-to-use strict config

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です