コーディング用プロンプト
日常の開発作業に役立つプロンプト集。あらゆる言語のコード解説、デバッグ、テスト作成、リファクタリング、レビュー、ドキュメント作成に対応します。
ここに掲載しているコーディング用プロンプトは、単なるサンプルではなく実際の開発現場で使えるよう設計されています。未知のコードの解説、仮説の優先順位付けを伴うデバッグ、単体テストの作成、リファクタリング、diffのレビュー、SQL、正規表現、Gitのトラブルシューティング、セキュリティチェック、ドキュメント作成、小規模なスクリプト作成などを幅広くカバーしています。大半のプロンプトはあらゆる言語に対応しています。[角かっこ] の部分に使用する言語やフレームワーク、ツールを指定し、指示に従ってコードを貼り付けてください。ファイル全体よりも、要点を絞った短いコードを渡す方が精度の高い回答が得られます。
各プロンプトは、出力結果を検証しやすいように工夫されています。テストは実際に実行でき、解説はコードと照らし合わせて確認でき、修正案には必ずその理由が添えられます。AIは一見正しそうに見えてもエッジケースで失敗したり、存在しない関数を使用したりすることがあるため、誤りに気付きやすい仕組みが不可欠です。「コピー」をクリックしてエディタやメモ帳に貼り付けるか、「チャットで使う」を選択してChatG上で開いてください。ChatGではコードがシンタックスハイライト付きで表示され、ワンクリックでコピーできます。
コードを貼り付ける前に、APIキー、パスワード、トークン、顧客情報などの機密情報が含まれていないか必ず確認し、外部AIサービスへのコード共有が職場の規約で許可されているかをチェックしてください。単発の質問にはコードアシスタントが便利です。開発ワークフローやAIの制限事項についての詳しい解説は、コーディング向けAI活用ガイドおよび開発者向けChatGをご覧ください。
プロンプトの調整方法
- バージョンや制約を追加する:言語のバージョン、フレームワーク、ランタイム、および「新しい依存関係を追加しない」などの条件を指定します。
- 入力を最小限に絞る:問題が再現する最小限のコード例に絞って入力します。
- 結果を再度共有する:修正案を試した後の結果(新しいエラー内容を含む)を貼り付け、次に何を試すべきか尋ねます。
- 出力形式を指定する:diff(差分)、単一の関数、選択肢をまとめた表など、希望する形式を指定します。
生成されたコードは実行する前に必ず目を通し、まずは安全な環境で動作確認を行ってください。
-
01
シニアエンジニア視点でのコード解説
あなたはジュニア開発者を指導する[プログラミング言語]のシニアエンジニアです。以下のコードが何をしているかを段階的に解説し、不自然な点、リスク、リファクタリングすべき箇所を指摘してください。 コード: [コードを貼り付け]
-
02
エラー原因の優先度付きデバッグ
[言語またはフレームワーク]のコードで以下のエラーが発生しています: [エラー内容とスタックトレースを貼り付け] 関連コード: [コードを貼り付け] 考えられる原因を可能性の高い順に3つ挙げ、それぞれの確認方法と、最も可能性が高い原因への修正案を提示してください。
-
03
エッジケースを考慮した単体テスト
以下の関数に対して、[テストフレームワーク]を使用した単体テストを作成してください。通常時の入力、境界値、空値やnull、不正な型を網羅し、各テスト名には検証する動作を明記してください。 対象の関数: [関数を貼り付け]
-
04
挙動を変えないリファクタリング
この[プログラミング言語]のコードの外部挙動を変えずに、可読性と保守性を高めるリファクタリングを行ってください。明確な命名、関数の分割、重複の削減を意識し、公開インターフェースは維持してください。各変更点を簡単に説明してください。 コード: [コードを貼り付け]
-
05
重要度別のプルリクエストレビュー
厳しくも親切なレビュアーとして、このプルリクエストのdiffをレビューしてください。コメントを「バグ」「セキュリティ」「パフォーマンス」「スタイル」に分類し、それぞれ「必須(blocking)」か「任意(optional)」かを明示して、具体的なコード変更案を提案してください。 diff: [diffを貼り付け]
-
06
テーブル定義からのSQLクエリ作成
以下のテーブル定義を使用して、[取得したいデータの内容]を満たす[PostgreSQL、MySQL、またはSQLite]のクエリを作成してください: [テーブル定義を貼り付け] クエリの解説を分かりやすく説明し、テーブル規模が大きい場合に推奨されるインデックスも提案してください。
-
07
テスト文字列付きの正規表現作成
[パターン内容]にマッチし、[除外したい例外]にはマッチしない、[言語またはツール]用の正規表現を作成してください。パターンの各部分を解説し、マッチすべきテスト文字列を5つ、マッチしてはならないテスト文字列を5つ提示してください。
-
08
別言語へのコード移植
この[移行元の言語]コードを、慣用的な[移行先の言語]コードに変換してください。単なる直訳ではなく、対象言語の一般的なライブラリやイディオムを活用し、整数除算やエラー処理など挙動が異なる可能性のある点があれば指摘してください。 コード: [コードを貼り付け]
-
09
バリデーション付きAPIエンドポイント
[処理内容]を行う[HTTPメソッド] [ルート]の[フレームワーク]エンドポイントを作成してください。[フィールドとルール]の入力バリデーションを実装し、適切なステータスコードを伴う明確なエラーメッセージを返し、リクエストとレスポンスの例も含めてください。
-
10
ドライラン機能付きの安全なシェルスクリプト
[実行したい処理、例: フォルダ内の全写真を撮影日時順にリネームする]を行う[bashまたはPowerShell]スクリプトを作成してください。安全性を考慮し、ドライラン(dry-run)オプションの実装、エラー時の処理停止、実行状況のログ出力を組み込んでください。各セクションにコメントを付けてください。
-
11
性能ボトルネックの特定と解消
この[プログラミング言語]の関数は、入力サイズが約[入力サイズ]のときにパフォーマンスが低下します: [コードを貼り付け] 時間計算量と空間計算量を説明した上でボトルネックを特定し、出力を維持したまま高速化したコードと新たな計算量を提案してください。
-
12
データベーススキーマの設計
以下の要件を満たす[作成したいアプリ、例: 小規模な予約システム]のデータベーススキーマを設計してください: 要件: [要件] テーブル一覧、型付きのカラム、キー、リレーションを提示し、アプリが成長した際に見直すべき設計ポイントを1点挙げてください。
-
13
docstringとコメントの追加
以下のコードに、[言語]の標準スタイルに準拠した分かりやすいdocstringまたはコメントを追加してください。各関数の目的、引数、戻り値、発生しうるエラーを記述し、コード自体は変更しないでください。 コード: [コードを貼り付け]
-
14
Gitのトラブルから安全に復旧する
Gitで次のようなトラブルが発生しました: [誤ったブランチにコミットしてプッシュしてしまったなど、状況を記述]。何が起きているのかを説明し、安全に修復するための正確なコマンドを教えてください。また、共有リポジトリの履歴を書き換える危険なコマンドがあれば警告してください。
-
15
練習問題でプログラミング概念を学ぶ
[言語]における[再帰やクロージャなど、プログラミングの概念]を教えてください。まずは短い解説と最小限のコード例から始め、難易度順に3つの練習問題を出してください。各問題の解答は、私が回答するまで表示しないでください。
-
16
コードスニペットのセキュリティチェック
この[言語]のコードについて、インジェクション、安全でないデシリアライズ、入力検証の不足、ハードコードされた認証情報、脆弱な認証などのセキュリティ上の問題がないかチェックしてください。問題ごとにリスクを説明し、修正後のコードを提示してください。コード: [コードを貼り付け]
-
17
差分から分かりやすいコミットメッセージを作成
以下の変更点に対するコミットメッセージを作成してください。1行目には72文字以内の簡潔な命令形の要約を書き、本文には変更内容とその理由を記載してください: [差分の説明または貼り付け]
-
18
ライブラリや実装アプローチの比較
[言語またはフレームワーク]のプロジェクトで、[バンドルサイズが小さい、ネイティブ依存関係がないなどの制約]という制約のもと、[タスク]を実装する必要があります。一般的な2〜3つのアプローチやライブラリを比較表にまとめ、それぞれのメリット・デメリット、使い分けを教えてください。また、公式ドキュメントで確認すべき点も示してください。
-
19
アクセシブルなUIコンポーネント
[タブウィジェットなど、コンポーネント]用のアクセシブルな[フレームワーク、またはプレーンなHTML/CSS/JavaScript]コンポーネントを作成してください。要件: [要件]。キーボード操作のサポート、必要に応じたARIA属性、および簡単な使用例を含めてください。
-
20
データファイルのクレンジング・処理スクリプト
[カラム一覧]のカラムを持つ[CSVファイルなどのファイル形式]を読み込み、[計算または変換内容]を行い、結果を[出力先]に書き出す[言語]のスクリプトを作成してください。欠損値や不正な形式の行を適切に処理し、最後に簡単なサマリーを出力してください。