TypeScriptコード重複検出・共通化
similarity-tsを使用してTypeScriptコードの重複を検出し、リファクタリング計画を立てるスキル。
ワークフロー
code
1. similarity-tsで類似コード検出 ↓ 2. 検出結果を分析 ↓ 3. 共通化の優先度判断 ↓ 4. リファクタリング計画を提示
検出コマンド
基本
bash
similarity-ts . --threshold 0.8 --min-lines 10
オプション
bash
# ヘルプ確認 similarity-ts -h # 閾値調整(類似度80%以上) --threshold 0.8 # 最小行数(10行以上のブロック) --min-lines 10 # 特定ディレクトリのみ similarity-ts src/
分析観点
優先度判断
| 優先度 | 条件 |
|---|---|
| High | 類似度90%以上、頻出パターン |
| Medium | 類似度80-90%、複数ファイルに分散 |
| Low | 類似度80%未満、局所的 |
共通化パターン
- •ユーティリティ関数化: 同一ロジックの抽出
- •基底クラス/インターフェース: 構造的類似
- •ジェネリクス/高階関数: パラメータ違いのみの場合
- •設定ファイル化: 定数・設定値の重複
出力形式
code
## 重複検出結果
### 🔴 High Priority
1. **{ファイル1}:{行} ↔ {ファイル2}:{行}**
- 類似度: 95%
- 推奨: ユーティリティ関数に抽出
- 共通化案: `utils/parseConfig.ts`
### 🟡 Medium Priority
...
## リファクタリング計画
1. {共通化対象1} → {対応方針}
2. {共通化対象2} → {対応方針}