3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

image.png

今の自分のC#を書く時のコーディングワークフロー

最近の自分の開発スタイルは、「AIと一緒にコードを書く」ことが前提になってきた。 特にGitHub Copilotで、C#開発を効率的に進めるフローが固まってきたので、現時点でのベストプラクティスをまとめておく。Visual StudioとVS Codeの役割分担、AskとAgentの使い分け、AIレビューの活用まで。 あくまで個人的なスタイル。

Visual StudioとVS Codeの役割分担が基本

  • つい最近まで、C#の開発ツールはVisual Studio一択だった。
  • 今は Visual Studio + Visual Studio Code の二本柱に。
  • Visual StudioのGitHub Copilot Agentモードは、やはり使い物にならない
  • Visual Studioでは使えるべき最新のモデルが使えないことが多いため、Copilotチャットも使わなくなった。
    • 簡単な質問はたまに使うが、出番は激減。
    • Visual StudioのCopilotは応答不能になることもよくあったが、VS Codeではほとんど起きない(体感では1/100ぐらい)。

Askモードで思考整理

  • VS CodeにおけるClaudeのAskモードは、自分にとって「AIとの壁打ち」に近い存在。
  • いきなりAgentで書かせるのはギャンブル。成功率は50%以下の体感。
  • まずはAskで「やりたいこと」を書き出す。乱文でもOK。思考を言語化する感覚。
  • モデルはSonnet 4。Opus 4も使えるが、Agentと行き来が面倒なので自然とSonnet中心に。
  • Askでもたいていコード付きで返してくれるので、何ターンか壁打ちを続ける。
  • 期待する方向にずれていたら、コメントで軌道修正。
  • 話がまとまらないときはゼロから書き直す。
  • 方向性が見えたら、「今までの流れをふまえてコードにしてください」とAgentに依頼。
    • ここでOpusからSonnetに切り替えると精度が落ちる印象がある(あくまで主観)。
  • Askが長くなったら「これをゼロベースでAgentに投げるならどうプロンプト書く?」と聞いて、それをベースにゼロからプロンプトを始める。

Agentモードでのコーディング

image.png

  • Auto Approveはオン。ただし、それでも止まることはある。
    • 特に「次のプロンプトを使いますか?」系の確認で止まりやすい。
  • Agentがコマンド実行後、結果が出ても進まないときがちょくちょくある。
    • 同じコマンドを再実行すれば動くことが多い。
  • プロンプトの打ち間違いがあったら止めて、打ち直す。以前は無理やり続けていたが今はやめた。
  • 出力が明らかに変な方向に行ったときは止めてコメントで指摘。
  • 出力中にずっと見ているかどうかは日による。他の作業と並行することもある。
  • 複数のセッションを同時には試したことがない(できるのかも分からない)。

Visual Studioでの確認

  • 出力が終わったら、最終確認はVisual Studioで。慣れと操作性の問題でやはり使いやすい。
  • まずは差分をざっと見て変更箇所を把握。変更が多すぎるときは詳細を追わないことも。
  • 実行して想定通りに動かない部分があれば、再びAgentに戻って修正依頼。
  • 実行が望む結果になったら、次はコードをじっくり見る。
  • 以前は自分のコードスタイルに整えていたが、今はある程度そのまま受け入れることが多い。
  • 明らかに変なところだけ、Agentにコメントで指摘して直してもらう。

最終調整は手でやる:改行にイラッとしつつ

  • 大体満足のいくコードになったら、Visual Studioで手作業で整形する。
  • 改行は高確率でおかしくなる。ほんと「クソが」と思う。
  • 全体をコピペすると直ることもあるので、まずはそれを試す。ダメなら手で修正。
  • コードが整ったらコミット。
  • その後、AIにリファクタも依頼する。主に「もっとシンプルにできる?」という聞き方。
  • わりと壊されることもあるので、コミットは必須。

PRレビューにもAI

  • コードがシンプルになったらPRを作る。
  • 自分でも変更点をざっと確認。
  • CopilotとCode RabbitのAIレビューを読み、必要な指摘をピックアップ。
  • 気になった指摘だけをAgentに投げて、部分的に修正。全部は投げない。
  • 修正後、再度コミットして、PRが通ったらマージ。
3
3
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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?