0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【検証】Claude Code vs Cursor — リファクタリング・テスト生成・コードレビューを並走させて分かった『使い分けの最適解』

0
Posted at

結論から:タスクによって「勝者」は変わる

『結局Claude CodeとCursorどっち使えばいいの?』——同一コードベースで3タスクを並走させ、所要時間・出力品質・トークンコストを全部計測して決着をつけました。

先に結論を書きます。

  • リファクタリング(大規模・複数ファイル)→ Claude Code が優勢
  • テスト生成(対話しながら調整)→ Cursor が優勢
  • コードレビュー(深い文脈理解)→ Claude Code が優勢
  • コスト効率 → タスク粒度による(後述)

「どちらか一方だけ使う」のは非効率です。この記事では、計測結果をもとにタスク別の使い分けフローチャート両方を組み合わせた最強ワークフローを提案します。


検証環境・前提条件

項目 詳細
対象リポジトリ TypeScript製のREST APIサーバー(約12,000行 / 48ファイル)
フレームワーク Express + Prisma + Zod
Claude Code claude-code CLI(Claude Max プラン / Opus)
Cursor v1.0系 / Claude Sonnet 4 モデル使用
計測方法 各タスクのプロンプトを統一し、同一ブランチから並走実行
評価者 筆者(バックエンド歴8年)が出力を人手でレビュー

注意: 本記事の計測結果は特定のコードベース・特定のプロンプトにおけるものです。プロジェクト規模やプロンプト設計によって結果は変わり得ます。


検証設計

3つのタスクそれぞれに対し、同一のプロンプト文面を用意しました。

評価軸は以下の3つです。

  1. 速度 — タスク完了までの所要時間
  2. 品質 — 人間が手直しした回数・指摘の正確さ
  3. コスト — トークン消費量の概算

タスク1:リファクタリング

お題

src/services/orderService.ts(約800行の God Class)を、責務ごとに分割してください。既存テストが通る状態を維持してください。」

結果比較

指標 Claude Code Cursor
所要時間 約3分 約7分(対話4往復含む)
生成ファイル数 5ファイルに分割 3ファイルに分割
既存テスト通過 初回で全パス 2回目の修正指示後にパス
人間の手直し回数 1回(import整理) 3回(型エラー修正 + import)

分析

Claude Codeはターミナル上でリポジトリ全体をコンテキストに取れるため、ファイル横断のリファクタリング精度が高いです。特にimportパスの書き換えやre-exportの生成が正確でした。

一方Cursorは、エディタ内で開いているファイルを中心にコンテキストを構築するため、参照先のファイルを明示的に@で指定しないと型の不整合が起きやすい傾向がありました。

所感: 5ファイル以上にまたがるリファクタリングはClaude Codeに軍配が上がります。2〜3ファイル程度の小規模リファクタリングならCursorのインライン編集の方が手軽です。


タスク2:テスト生成

お題

src/services/paymentService.ts のユニットテストを生成してください。正常系・異常系・境界値を網羅してください。」

結果比較

指標 Claude Code Cursor
所要時間 約2分 約4分(対話2往復含む)
生成テスト数 18ケース 14ケース
カバレッジ(行) 89% 82%
偽陽性率(誤ったテスト) 2/18(11%) 1/14(7%)
モック精度 Prismaモックがやや冗長 Prismaモックが的確

分析

数の面ではClaude Codeが多くのテストケースを一気に生成しましたが、偽陽性(実装が正しいのにFailするテスト) が2件混入していました。期待値の設定ミスが原因です。

Cursorは生成数こそ少ないものの、対話的に「このエッジケースも追加して」と指示を重ねられるため、最終的なテスト品質は高くなりました。特にPrismaのモック構築では、エディタ上で型補完が効く状態で生成するCursorの方が精度が高い傾向です。

所感: テスト生成は「一発で完成させる」よりも「対話で磨き上げる」プロセスが重要です。この点でCursorの対話UXが有利でした。


タスク3:コードレビュー

お題

src/controllers/userController.ts のコードレビューをしてください。セキュリティ・パフォーマンス・可読性の観点で指摘してください。」

結果比較

指標 Claude Code Cursor
所要時間 約1分 約2分
指摘数 12件 8件
的確な指摘 10件(83%) 7件(88%)
重大な見落とし 0件 1件(SQLインジェクションリスク)
コメント粒度 具体的(修正コード付き) やや概要的

分析

Claude Codeはgit diffとの連携やプロジェクト全体の依存関係を読み取れるため、関連ファイルへの波及リスクまで指摘してくれました。特に「この変更をするとorderService側のバリデーションも修正が必要」といったクロスファイルの指摘が光ります。

Cursorも的確な指摘が多かったものの、セキュリティ関連で1件の見落としがありました。ただし精度(正答率)ではCursorがわずかに上回っています。

所感: セキュリティや依存関係を含む深いレビューはClaude Code、開いているファイル単位のクイックレビューはCursorが適しています。


コスト比較

各タスクのトークン消費量と、月額換算コストを概算しました。

タスク Claude Code(トークン概算) Cursor(トークン概算)
リファクタリング 約50K tokens 約35K tokens
テスト生成 約30K tokens 約45K tokens(対話含む)
コードレビュー 約20K tokens 約15K tokens
合計 約100K tokens 約95K tokens

月額コスト目安

プラン 月額 備考
Claude Code(Maxプラン) $100〜$200 使い放題だがレートリミットあり
Cursor(Pro) $20 500回のプレミアムリクエスト含む
Cursor(Ultra) $200 無制限のプレミアムリクエスト

注意: Claude CodeをAPI従量課金で使う場合はトークン単価が直接効いてきます。Maxプランの場合はレートリミット内なら定額で使えるため、ヘビーユースならMaxプランの方がコスト効率が良いです。コストはプランや利用頻度で大きく変わるため、あくまで参考値としてご覧ください。


結論:タスク別の使い分け判断フローチャート

計測結果を踏まえた使い分けフローチャートです。

判断基準を3つにまとめます。

  1. ファイル数:5ファイル以上にまたがる → Claude Code
  2. 対話頻度:試行錯誤しながら磨きたい → Cursor
  3. コンテキスト深度:依存関係やセキュリティの考慮が必要 → Claude Code

両方を組み合わせた最強ワークフロー

「どちらか一方」ではなく、開発フェーズに応じて切り替えるのが最適解です。

具体的なフロー

  1. Claude Codeで骨組みを作る — 大規模リファクタリングやファイル分割をターミナルから一気に実行
  2. Cursorで肉付けする — テスト生成や細かいロジック修正を対話的に実施
  3. Claude Codeで最終チェック — PR前のコードレビュー・セキュリティスキャンを実行

このサイクルを回すと、それぞれの強みを最大限に活かせます。

実践Tips

  • Claude CodeのCLAUDE.mdにプロジェクトの規約を書いておくと、リファクタリング精度がさらに上がります
  • Cursorの.cursorrulesにテスト規約(使用ライブラリ・モックの書き方)を定義しておくとテスト生成の品質が安定します
  • コードレビューはClaude Codeにgit diff main...feature-branchを読ませるのが最も効率的です

まとめ

  • Claude Codeは「広く深く」が得意 — 複数ファイル横断のリファクタリングや、依存関係を考慮したコードレビューで真価を発揮する
  • Cursorは「狭く速く」が得意 — 対話的なテスト生成やインライン編集の手軽さで、日常の実装タスクの生産性を上げる
  • 最適解は「併用」 — 設計フェーズでClaude Code → 実装フェーズでCursor → レビューフェーズでClaude Codeのサイクルが最も効率的

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?