code-metrics-analysis について
コード品質指標を測定・分析し、複雑さや保守性の問題を見つけるためのスキルです。TypeScript、Python、ESLint、CI/CD の品質ゲートに関するガイドを含みます。
主な機能
- 01循環的複雑度と認知的複雑度の分析
- 02コード行数と関数数の計測
- 03TypeScript と Python のガイド
- 04CI/CD 品質ゲートでの指標活用
活用シーン
- 01コード品質の評価と技術的負債の追跡
- 02リファクタリング候補の特定
- 03コードレビューでの指標参照
- 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.mdeslint-plugin-for-complexity.mdpython-code-metrics-using-radon.mdtypescript-complexity-analyzer.mdscripts/scaffold-tests.shtemplates/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 Analyzer | TypeScript Complexity Analyzer |
| Python Code Metrics (using radon) | Python Code Metrics (using radon) |
| ESLint Plugin for Complexity | ESLint Plugin for Complexity |
| CI/CD Quality Gates | CI/CD Quality Gates |
ベストプラクティス
✅ 推奨事項
- メトリクスを継続的に監視します
- 妥当なしきい値を設定します
- 絶対値ではなく傾向に注目します
- メトリクスの収集を自動化します
- メトリクスをリファクタリングの指針として活用します
- 複数のメトリクスを組み合わせます
- コードレビューにメトリクスを含めます
❌ 非推奨事項
- メトリクスだけを品質指標として使用しないでください
- 非現実的なしきい値を設定しないでください
- コンテキストやドメインを無視しないでください
- メトリクスを理由に開発者を罰しないでください
- 1 つのメトリクスだけに注目しないでください
- ドキュメントを省略しないでください
コメント
Markdown 対応