こんにちは、フリーランスエンジニアのTakashiです。効率化を突き詰める中で見つけた、「え、そんな使い方あったの?」と驚かれるようなChatGPTのコーディング術を7つ、厳選してご紹介します。
この記事を読めば、あなたの開発ワークフローは劇的に変わるはずです。
1. git diff
を食わせて「コミットメッセージ」を自動生成させる
面倒な作業の代表格、コミットメッセージ作成。Conventional Commitsの規約に沿って書くのは意外と頭を使いますよね。これ、AIに丸投げしましょう。
課題:
- 変更内容を要約して、規約に沿ったメッセージを考えるのが面倒。
- 急いでいると、つい
"update"
のような雑なメッセージにしてしまい、後から見返せない。
テクニック:
ターミナルでgit diff
を実行し、その出力結果をまるごとChatGPTに貼り付けて、メッセージの生成を依頼します。
ChatGPTの回答例:
|
|
2. 日本語のシナリオから「E2Eテストコード」を錬成する
「ユーザーがログインして、記事を投稿し、ログアウトする」 こんな日本語のシナリオを渡すだけで、面倒なE2EテストコードをAIに書かせることができます。
課題:
- E2Eテストは重要だが、セットアップやコード作成に時間がかかりすぎる。
- 細かいセレクタの指定やアサーションの記述が面倒。
テクニック: 実現したいテストのシナリオを箇条書きで書き、それを元にPlaywrightやCypressのテストコードを生成させます。
このプロンプトだけで、必要なawait page.goto(...)
やawait expect(...)
が記述されたリアルなテストコードが手に入ります。
3. 複雑なロジックをMermaid.jsで「フローチャート化」する
他人の書いた複雑なコードや、昔の自分が書いた思い出せないロジック。コードを睨みつけるより、AIに図解させてしまいましょう。
課題:
- if文や三項演算子がネストしたコードは、処理の流れを追うのが難しい。
- コードの仕様をドキュメントにまとめるのが面倒。
テクニック: 対象の関数をChatGPTに渡し、そのロジックをMermaid.js形式のフローチャートで出力させます。出力されたテキストをMermaid対応のエディタ(VSCodeのプレビューなど)に貼り付ければ、一瞬でフローチャートが完成します。
4. 難解なエラーを「解決手順リスト」に翻訳させる
暗号のようなエラーメッセージで消耗するのはもうやめましょう。AIは優秀なデバッグアシスタントです。
課題:
- コンソールに出るエラーメッセージやスタックトレースが何を意味するのか、すぐには理解できない。
- エラー解決のために、関係ないブログ記事をいくつも渡り歩いてしまう。
テクニック: エラーメッセージとスタックトレースをそのまま貼り付け、「原因」と「解決のための具体的な手順」を質問します。
単なる原因解説だけでなく、「{user.name}
のように、オブジェクトのプロパティをレンダリングしていませんか?」といった具体的なチェックリストを返してくれます。
5. AIとの対話で「思考の袋小路」をデバッグする
フリーランス開発者あるあるですが、一人で開発していると、バグにハマった時に思考がループしてしまうことがあります。そんな時は、AIを壁打ち相手にしましょう。
課題:
- 一人で悩んでいると、同じ間違いを何度も繰り返したり、視野が狭くなったりする。
- 誰かに相談したくても、すぐにつかまる同僚がいない。
テクニック: 解決しないバグについて、AIに状況を説明し、試したこと、そして自分の仮説をぶつけます。人間と話すように対話することで、思考が整理されます。
AIは、「リクエストボディのContent-Type
ヘッダーは正しいですか?」とか「ORMのsave()
メソッドを呼び出し忘れていませんか?」といった、自分が忘れていた基本的な確認事項を思い出させてくれることがあります。
6. レガシーコードをAIアナリストに「近代化」させる
触りたくないレガシーコードの山。AIに分析させ、モダンなコードへのリファクタリング案を出してもらいましょう。
課題:
- 古いjQueryのコードが何をしているのか、パッと見で理解できない。
- モダンなフレームワーク(ReactやVue)にどう書き換えれば良いか、設計に時間がかかる。
テクニック: 古いコードを渡し、「何をしているか」をまず解説させます。その上で、モダンな書き方へのリファクタリングを依頼します。
7. プロジェクトコードから「README.md」を自動執筆させる
最後は、誰もが面倒に感じるドキュメント作成です。
課題:
- 機能開発が終わって満足してしまい、READMEの作成を後回しにして、結局やらない。
- プロジェクトの概要、インストール方法、使い方などを文章にまとめるのが苦手。
テクnict: プロジェクトの主要なファイル構成と、キーとなるいくつかのファイルのコードを渡し、READMEの生成を依頼します。
まとめ
いかがでしたか?
ChatGPTは、プロンプトを工夫するだけで、単なるコード生成機から、あなたの開発作業のあらゆる場面をサポートする**最強の“相棒”**に進化します。
- コミットメッセージを書くライター
- E2Eテストを書くQAエンジニア
- ロジックを図解するアナリスト
- エラーを解決するデバッガー
- レガシーコードを改善するアーキテクト
- READMEを書くテクニカルライター
今回紹介したテクニックは、ほんの一例です。ぜひ、あなたの面倒な作業をAIに押し付ける方法を色々と試してみてください。
あなたが使っている面白いChatGPT活用術があれば、ぜひコメントで教えてくださいね!