レシピ#3-6: Cursor + Claudeによる最終コードレビューと品質向上

おめでとうございます!あなたのアプリは、UI、ロジック、データ保存といった主要な機能を備え、完成に近づいています。しかし、料理が完成しても、キッチンが散らかったままではプロの仕事とは言えません。

このレシピでは、開発の最終段階として、Cursor + Claudeを「厳格なコードレビュワー」兼「親切なテクニカルライター」として活用し、アプリケーション全体の品質を向上させる方法を学びます。


1. コードの「健康診断」:静的解析とフォーマット

まず、コードがFlutterの作法に沿ってきれいに書かれているか、基本的な健康診断を行います。

  1. コードフォーマッターの実行: 一貫したコーディングスタイルは、可読性を高める第一歩です。ターミナルで以下のコマンドを実行し、プロジェクト全体のコードを自動で整形します。 bash dart format .

  2. 静的解析の実行: flutter analyzeは、コードをスキャンし、潜在的なバグや非効率な書き方を指摘してくれる、優秀な「自動診断ツール」です。 bash flutter analyze もし、何らかの警告(info, warning)が表示されたら、その内容をCursor + Claudeに尋ねてみましょう。

💬 Cursor活用プロンプト (静的解析エラーの解説)

flutter analyzeを実行したら、以下の警告が表示されました。

info: prefer_const_constructors

この警告は何を意味していますか?また、どうすれば修正できますか?初心者にでも分かるように説明してください。


2. Cursor + Claudeによるリファクタリング提案

コードは動きますが、もっと効率的で、もっと読みやすい書き方があるかもしれません。Cursor + Claudeにコード全体をレビューさせ、改善点を提案してもらいましょう。

例:巨大なウィジェットの分割

開発が進むと、特定のウィジェット(特に画面全体を表すウィジェット)が肥大化しがちです。

💬 Cursor活用プロンプト (リファクタリング依頼)

あなたは、クリーンで保守性の高いFlutterコードを書くエキスパートです。

私のhome_screen.dartのコードは、1つのbuildメソッドの中にロジックが集中し、長くなってしまいました。

レビューしてほしいコード】 @screens/home_screen.dart を参照してください。 (Claude Codeの場合は「home_screen.dartを読んでレビューして」と依頼し、直接ファイルを読ませます)

このコードをリファクタリングするための具体的な改善案を3つ提案してください。 例えば、UI部品を別のStatelessWidgetに切り出す、ロジックをServiceクラスに移動するなど、可読性と再利用性を高める観点でお願いします。


3. Cursor + Claudeによるテストコードの自動生成

手動での動作確認は重要ですが、アプリが大きくなるにつれて限界がきます。ユニットテストは、コードの各部品が正しく動作することを自動で保証してくれるセーフティネットです。

例:ロジック部分のユニットテスト作成

状態管理を担うMemoServiceのロジックが、意図通りに動くかをテストしてみましょう。

💬 Cursor活用プロンプト (テストコード生成)

あなたはFlutterのテスト作成の専門家です。

MemoServiceクラスに対して、flutter_testを使ったユニットテストのコードを生成してください。

テスト対象のコード】 @services/memo_service.dart を参照してください。 (Claude Codeの場合は「memo_service.dartを読んでテストを書いて」と依頼し、直接ファイルを読ませます)

テストしてほしい項目: 1. 初期状態では、メモのリストが空であること。 2. addMemoメソッドを呼んだ後、リストの件数が1になり、追加したメモが含まれていること。 3. メモを追加した後にremoveMemoメソッドを呼ぶと、リストが再び空になること。

「このテストをtest/memo_service_test.dartとして作成して」と依頼すれば、エージェントが直接ファイルを作成してくれます。あとはターミナルでflutter testを実行すれば、いつでもロジックの健全性を自動でチェックできます。


4. Cursor + Claudeによるドキュメンテーション

最後に、未来の自分や他の開発者のために、コードの「取扱説明書」を残しておきましょう。

例:公開するクラスやメソッドへのDocコメント追加

💬 Cursor活用プロンプト (Docコメント生成)

あなたは分かりやすい技術文書を書くのが得意なテクニカルライターです。

MemoServiceクラスと、その公開メソッドであるaddMemo, removeMemoに対して、他の開発者が使い方をすぐに理解できるように、Dartの公式スタイルガイドに従ったDocコメントを生成してください。

各メソッドが何をするのか、どんな引数を取るのかを簡潔に説明してください。

この最終ステップにより、あなたのプロジェクトはただ「動く」だけでなく、「健全で、品質が保証され、誰にとっても理解しやすい」という、プロフェッショナルな成果物へと昇華します。

これで、開発の主要なプロセスは一通り完了です。次のセクションでは、特定のテーマに特化した応用的なレシピを見ていきましょう。