Files
gh-jtsylve-claude-experimen…/skills/code-comparison/SKILL.md
2025-11-30 08:29:39 +08:00

1.6 KiB

Code Comparison

Compare code implementations for equivalence, similarity, or differences with accurate classification.

Comparison Dimensions

Dimension Question
Behavioral Same outputs for same inputs? Same side effects?
Semantic Same intent/purpose? Same business logic?
Syntactic Similar names, structure, formatting?
Algorithmic Same approach? Same complexity (Big O)?
Style Functional vs imperative? Recursive vs iterative?

Common Scenarios

Scenario Focus
Refactoring Behavioral equivalence (must match)
Bug fix Specific case differs, normal matches
API compat Signature, returns, errors, side effects
Plagiarism Structure, naming, logic patterns

Output Format

Start with [YES] or [NO] immediately.

Then provide justification with specific examples from both items.

Analysis Checklist

  • Inputs (same params, types?)
  • Outputs (same returns?)
  • Side effects (same state changes?)
  • Error handling (same exceptions?)
  • Edge cases (null, empty, boundary?)
  • Performance (same complexity?)

Example

[YES] Behaviorally equivalent

Both functions:
1. Return same results for all inputs
2. Handle null by returning empty array
3. Use same filtering logic

The refactoring improves readability (modern array methods) without changing behavior.

Pitfalls

  • Don't stop at surface differences (naming != different behavior)
  • Check edge cases (factorial(-1) may differ)
  • Consider context (Promise vs callback may be equivalent in modern Node)