mcpField
C
code-metrics-analysis

code-metrics-analysis

github.com/aj-geddesテスト・品質373458 回インストール34 週間前に更新
リポジトリ

code-metrics-analysis について

コード品質指標を測定・分析し、複雑さや保守性の問題を見つけるためのスキルです。TypeScript、Python、ESLint、CI/CD の品質ゲートに関するガイドを含みます。

主な機能

  1. 01循環的複雑度と認知的複雑度の分析
  2. 02コード行数と関数数の計測
  3. 03TypeScript と Python のガイド
  4. 04CI/CD 品質ゲートでの指標活用

活用シーン

  1. 01コード品質の評価と技術的負債の追跡
  2. 02リファクタリング候補の特定
  3. 03コードレビューでの指標参照
  4. 04CI/CD の品質ゲート設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill code-metrics-analysis

インストール後、Claude Code で/code-metrics-analysisを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
cicd-quality-gates.md
eslint-plugin-for-complexity.md
python-code-metrics-using-radon.md
typescript-complexity-analyzer.md
scripts/
scaffold-tests.sh
templates/
test-template.js

詳細

コードメトリクス分析

目次

概要

コード品質メトリクスを測定、分析して、複雑さ、保守性の問題、改善すべき箇所を特定します。

使用する場面

  • コード品質の評価
  • リファクタリング候補の特定
  • 技術的負債の監視
  • コードレビューの自動化
  • CI/CD 品質ゲート
  • チームのパフォーマンス追跡
  • レガシーコードの分析

クイックスタート

最小限の動作例:

import * as ts from "typescript";
import * as fs from "fs";

interface ComplexityMetrics {
  cyclomaticComplexity: number;
  cognitiveComplexity: number;
  linesOfCode: number;
  functionCount: number;
  classCount: number;
  maxNestingDepth: number;
}

class CodeMetricsAnalyzer {
  analyzeFile(filePath: string): ComplexityMetrics {
    const sourceCode = fs.readFileSync(filePath, "utf-8");
    const sourceFile = ts.createSourceFile(
      filePath,
      sourceCode,
      ts.ScriptTarget.Latest,
      true,
    );

    const metrics: ComplexityMetrics = {
      cyclomaticComplexity: 0,
      cognitiveComplexity: 0,
// ... (see reference guides for full implementation)

リファレンスガイド

references/ ディレクトリにある詳細な実装:

ガイド内容
TypeScript Complexity AnalyzerTypeScript Complexity Analyzer
Python Code Metrics (using radon)Python Code Metrics (using radon)
ESLint Plugin for ComplexityESLint Plugin for Complexity
CI/CD Quality GatesCI/CD Quality Gates

ベストプラクティス

✅ 推奨事項
  • メトリクスを継続的に監視します
  • 妥当なしきい値を設定します
  • 絶対値ではなく傾向に注目します
  • メトリクスの収集を自動化します
  • メトリクスをリファクタリングの指針として活用します
  • 複数のメトリクスを組み合わせます
  • コードレビューにメトリクスを含めます
❌ 非推奨事項
  • メトリクスだけを品質指標として使用しないでください
  • 非現実的なしきい値を設定しないでください
  • コンテキストやドメインを無視しないでください
  • メトリクスを理由に開発者を罰しないでください
  • 1 つのメトリクスだけに注目しないでください
  • ドキュメントを省略しないでください

コメント