Claude Code を初めて使って C# WebAPI を 0 から 100 まで構築した話
目次
はじめに
Claude Code を使って、C# の WebAPI をイチから構築しました。初めての利用だったので試行錯誤もありましたが、最終的には想像以上のスピードで実装が完了しました。
その過程で感じたこと、うまくいったこと、つまずいたことをまとめておきます。
前提条件
今回の開発にあたって、私自身の状況を書いておきます。
- 普段は Java を使っていて、C# はほぼ触ったことがない
- C# での WebAPI 実装経験がない(Java での WebAPI は十分に経験あり)
- C# にどんなライブラリがあるかも知らない
もし自分でイチから実装しようとしていたら、
まず C# の基本文法から学び、
ASP.NET Core の仕組みを理解し、
Entity Framework Core などのライブラリの使い方を調べ…
と、かなりの学習コストがかかっていたはずです。
今回は Claude Code にほぼすべてを任せる形で進めたため、この学習コストをほとんどスキップできました。
もちろん生成されたコードを理解する必要はありますが、ゼロから学ぶのと動くコードを読みながら学ぶのでは、効率が全く違いました。
最初につまずいたこと
リミットにすぐ到達
Claude Code の扱いに慣れていなかったため、最初は抽象的な指示を出してしまうことが多かったです。
// 悪い例
「いい感じに API を作って」
「DB 周りをよしなにやって」
このような指示だと Claude Code が何度も確認や提案を繰り返すため、あっという間にリミットに達してしまい、5時間間隔のリセットまで使えない状態が何度かありました。
具体的に何をしてほしいかを明確に伝えること=プロンプトの書き方=が大事だと学びました。
実装の進め方
以下の流れで実装を進めました。
1. Excel の DB 定義書を読み込ませる
まず Claude Code に Excel 形式の DB 定義書を読み込ませました。
Claude Code は読み込み用の Python プログラムを自分で作成し、定義書の内容を解析してくれました。ただ、完璧ではありませんでした。
- 背景色で「無効」を表現している箇所が読み取れない
- セル結合があると構造がうまく解釈されない
こういった部分は人間の手で補足・調整が必要でした。Excel の読み込みはそこまでスムーズではなかったです。
2. API Blueprint で作成された API 仕様書を読み込ませる
API 仕様書はチームメンバーが API Blueprint 形式で作成していました。
仕様書には API ごとに DB のどのテーブルを使うかが記載されていたので、Claude Code はこれを参照しながらスムーズに実装を進めてくれました。
3. 仕様書・定義書に基づいて実装
DB 定義書と API 仕様書の両方を読み込ませた状態で、実装を指示しました。
○○ API を実装して。
DB 定義書の △△ テーブルを使って、API 仕様書の通りに作って。
このように具体的に指示すると、期待通りのコードを生成してくれました。
うまくいったこと
CLAUDE.md の活用
事前に CLAUDE.md に C# のベーシックなコーディング規約を記載しておきました。
- 命名規則
- ディレクトリ構成
- 基本的なコーディングスタイル
これにより、生成されるコードが最初から規約に沿った形になり、後からの修正が少なくて済みました。
DB アクセス方式の切り替え
当初、Claude Code は古い方式で DB とのやり取りを実装していました。新しい方式に切り替えたいと指示したところ、スムーズに対応してくれました。
DB アクセスを Entity Framework Core を使った方式に変更して。
既存の実装をすべて書き換えて。
Docker 環境の構築
DB コンテナやローカル実行環境の構築も、こちらの要望を伝えるだけで Claude Code がすべて用意してくれました。
- docker-compose.yml の作成
- 初期データ投入用のスクリプト
- ローカル実行用の設定ファイル
リファクタリング
実装が一通り完了した後、リファクタリングも依頼しました。
実装内容を確認して、処理の共通化や最適化を行って。
指示した通りに、重複コードの共通化や不要な処理の削除を行ってくれました。
仕様変更への対応
開発中は度重なる仕様変更がありましたが、以下のような簡単なプロンプトで対応してくれました。
○○ API の △△ の処理を □□ に修正して。
修正後は、処理分岐パターンを網羅したテストを実施して。
人間では到底追いつけないスピードで実装してくれました。
人間がやったこと
Claude Code に実装を任せることで、人間は以下の作業に時間をかけることができました。
- コードレビュー:生成されたコードが仕様通りか、セキュリティ上の問題がないかを確認
- テスト:実際に動かして期待通りの動作をするかを検証
- 仕様の判断:曖昧な部分の仕様を決定し、Claude Code に伝える
実装作業そのものはほぼ Claude Code に任せ、人間は確認と判断に集中する形になりました。
感じたこと
今回初めて 0 から 100 まで Claude Code に作業してもらいました。
率直に言って、もう人間がプログラミングする機会は劇的に減っていくだろうと感じました。
近い将来、コードを書くこと自体がなくなるかもしれません。
便利でとても楽ではあるのですが、正直なところ少し寂しい気持ちもあります。
プログラミングが好きで始めた仕事なので、複雑な気持ちになりました。
ただ、だからこそ「何を作るか」「どう設計するか」「品質をどう担保するか」という上流の部分が、これまで以上に重要になってくるのだと思います。
まとめ
- Claude Code を使えば、WebAPI の実装を大幅に効率化できます
- 抽象的な指示ではなく、具体的に伝えることが大事
CLAUDE.mdに規約を書いておくとスムーズ- Excel の読み込みなど、完璧ではない部分もある
- 人間はコードレビューとテスト、仕様判断に集中できる
- プログラミングの在り方が変わっていくことを実感しました
