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?

他者が書いたDCCツールのコード保守を、AIコーディングアシスタントで効率化する

Last updated at Posted at 2025-08-23

環境

  • Windows
  • DCCツール(Mayaなど)
  • AIコーディングアシスタント (JetBrains AI Assistant、GitHub Copilotなど)

はじめに

業務では、他者が書いたスクリプトやツールコードの構造を把握し、保守しやすい形に整える作業が頻繁に発生します。特に、処理の意図を読み解き、再利用可能な形に整理する工程は、注意深さとコストを要することが多くあります。

最近では、JetBrains AI AssistantやGitHub CopilotなどのAIコーディングアシスタントを活用することで、こうした作業の一部を効率化できるようになってきました。

本記事では、私がコード調整のために使用しているテンプレートを紹介します。なお、紹介するテンプレートはあくまで一例であり、ベストプラクティスを示したものではない点をご了承ください。

プロンプト

プロンプトは以下の3つのステップに分けています。

  • ステップ1:処理フローの可視化
  • ステップ2:ユーザー・開発者向けドキュメント化
  • ステップ3:リファクタリング支援

3つのステップに分けているのは、タスクのフォーカスを明確にすることと、コンテキストの積み上げによって、論理的で一貫性の提案を得ることが目的です。

ステップ1:処理フローの可視化

まず、コード全体の処理構造を把握し、後続のドキュメント化・リファクタリングの土台を作ります。

このコードは[言語名]で書かれており、[対象アプリケーションや環境]向けに作成されたものです。
まずは処理の流れを可視化してください。

以下の観点で簡潔に整理してください:

- メイン処理の開始点と終了点
- 関数・クラス間の呼び出し関係(最大3階層までの箇条書き)
- 条件分岐やループの流れ(簡潔に)
- 外部とのインタラクション(UI、ファイル、APIなど)
- データの流れ(入力 → 処理 → 出力)

出力形式:Markdown
構成:

- 処理フロー概要(ステップ単位で簡潔に)
- 関数呼び出し構造(箇条書き)
- 備考(複雑な処理や注意点)

補足:

- 冗長な説明は避け、簡潔かつ構造的に記述してください

ステップ2:ユーザー・開発者向けドキュメント化

次に、コードの利用者と保守担当者が理解しやすいよう、目的・使い方・内部構造を整理します。

次に、ユーザー向け・開発者向けのドキュメントをMarkdown形式で作成してください。

出力形式:Markdown
構成:

### ユーザー向け

- 概要:このコードが何を目的としているか
- 使用方法:実行手順、引数や設定項目、前提条件
- 注意点:制限事項、互換性、想定されるエラーや例外

### 開発者向け

- 関数・クラスの説明:役割、引数、戻り値、処理内容
- 処理の流れ:主要なステップとその順序
- 使用しているAPIやライブラリの一覧
- 改善ポイント:冗長な処理、設計上の懸念、保守性の課題

補足:

- コードブロックを使って具体例を示してください
- 冗長な説明は避け、簡潔かつ構造的に記述してください

ステップ3:リファクタリング支援

最後に、コードの可読性・保守性・再利用性を高めるための改善案を提示させます。

最後に、このコードのリファクタリング案を提示してください。

目的は以下の通りです:

- 可読性の向上(命名、構造、コメント)
- 保守性の向上(処理の分離、依存の明確化)
- 再利用性の向上(関数化、汎用化、設定項目の外部化)

前提環境:

- [対象アプリケーションや環境]
- [言語名]
- 非推奨構文や旧バージョン依存の記述は避けてください

出力形式:Markdown
構成:

- 修正方針の一覧(何をどう改善するか)
- 改善後のコード例(必要に応じて一部抜粋)
- 補足説明(なぜその変更が有効か)

補足:

- 処理内容や目的は前のステップで明示されています
- 冗長な説明は避け、構造的かつ簡潔に記述してください
- 可能であれば、改善前→改善後の比較をコードブロックで示してください
- 環境に合わない構文やAPIは避け、互換性を考慮してください

補足

プロンプトは3つのステップとなっていますが、実際には各ステップごとに目的の出力が得られるまではイテレーションを回す必要があります。また、コンテキストを積み上げるために同一チャット内でプロンプトを反復させることが重要です。

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?