コンテンツにスキップ

設定

similarity-goは、YAML、TOML、JSON形式の設定ファイルをサポートしています。ツールは以下の順序で設定ファイルを自動的に検索します:

  1. .similarity-go.yaml
  2. .similarity-go.yml
  3. .similarity-go.toml
  4. .similarity-go.json
  5. similarity-go.yaml
  6. similarity-go.yml
  7. similarity-go.toml
  8. similarity-go.json
.similarity-go.yaml
# 分析設定
analysis:
threshold: 0.8 # 類似性しきい値 (0.0 - 1.0)
min_lines: 5 # 分析対象とする最小行数
max_file_size: "10MB" # 分析する最大ファイルサイズ
# 出力設定
output:
format: "detailed" # 出力形式: detailed, json, yaml, csv
file: "" # 出力ファイル (空 = stdout)
colors: true # カラー出力を有効化
quiet: false # 非必須出力を抑制
# ファイルパターン
patterns:
include:
- "**/*.go"
exclude:
- "**/*_test.go"
- "vendor/**"
- "*.pb.go"
- ".git/**"
# パフォーマンス設定
performance:
parallel: 0 # 並列ワーカー数 (0 = 自動)
cache_enabled: true # 結果キャッシュを有効化
cache_dir: "" # キャッシュディレクトリ (空 = 自動)
memory_limit: "1GB" # 最大メモリ使用量
# アルゴリズム設定
algorithms:
ast_comparison:
enabled: true
weight: 0.7
token_comparison:
enabled: true
weight: 0.2
structure_comparison:
enabled: true
weight: 0.1
# レポート設定
reporting:
group_by: "file" # 結果をグループ化: file, function, similarity
sort_by: "similarity" # ソート基準: similarity, file, function
show_context: true # 出力にコードコンテキストを表示
context_lines: 3 # 表示するコンテキスト行数
オプションデフォルト説明
thresholdfloat0.8類似性しきい値 (0.0-1.0)。この値を超える類似性を持つ関数が報告されます。
min_linesint5関数が分析されるための最小行数。
max_file_sizestring"10MB"分析する最大ファイルサイズ。KB、MB、GBサフィックスをサポート。
オプションデフォルト説明
formatstring"detailed"出力形式: detailedjsonyamlcsv
filestring""出力ファイルパス。空の場合はstdout。
colorsbooltrueターミナルでのカラー出力を有効化。
quietboolfalse非必須出力を抑制。
オプションデフォルト説明
include[]string["**/*.go"]分析に含めるファイルパターン。
exclude[]string[]分析から除外するファイルパターン。

一般的な除外パターン:

  • **/*_test.go - テストファイル
  • vendor/** - Vendorの依存関係
  • *.pb.go - Protocol bufferで生成されたファイル
  • .git/** - Gitディレクトリ
  • **/.* - 隠しファイルとディレクトリ