みなさん、こんにちは! タカハシ(@ntakahashi0505)です。
前回はコードを読み返すときのChatGPTの使い方を紹介しました!
さて、ノンプログラマーがどうしても避けてとおりがちな「関数」。
使いこなせればとても便利なのですが、ちょっとハードルが高い。そんなときも、ChatGPTを活用できます。
今回はそんな関数を扱うChatGPT活用術をお伝えしていきます。
ということで、今回は「ノンプロ泣かせの「関数」…部品化も命名もChatGPTにお任せしちゃおう」についてお伝えします。
では、行ってみましょう
関数とは何か?
関数とは、プログラム内の手続きをまとめて「部品化」するための機能です。
ノンプログラマーの方は「関数」というとちょっと難しそうに感じるかもしれませんし、どうしても避けてとおりがちなのですが、実はとても便利なんです。
例えば、自分でコードを書いたとき、またはChatGPTにコードを書かせたとき、ずらずらと長いプログラムになってしまうことがあります。
たとえば、その行数が100行あったとしましょう。そのプログラムを使っているうちに、バグがあったり、ちょっとした修正が必要なとき、そのような長いプログラムから修正すべきポイントを探す必要があります。
しかしこれが、100行の中から不具合を探すのではなく、5行の中から探せばよいのだったら、素早く、正確に問題を見つけられますよね。
そこで登場するのが「関数」です。
長いコードを役割ごとに分けて短いコードの部品に分けておくことで、バグの発見も修正もぐっと楽になります。
例えば、税抜き価格に消費税率を加えて税込み価格を計算する処理があるとしたら、その部分だけを関数として部品化しておく。こうすることで、修正も簡単になりますし、他のプログラムでも使い回しができるようになります。
ChatGPTでコードの部品化を頼んでみよう
では、具体的にどのように関数を使うのか見てみましょう。ChatGPTを使えば、あるコードの中から部分的に関数として取り出すことも簡単です。
例えば、以下のようなプロンプトをChatGPTに投げてみます。
以下のコードから適切な関数を抽出して、分割してください。
# コード
Sub CalculateTaxIncludedPriceAndDisplay()
Dim price As Long: price = 100
Dim tax_rate As Currency: tax_rate = 0.1
Dim tax_included As Currency
tax_included = price * (1 + tax_rate)
MsgBox "税込み価格は" & tax_included & "円です"
End Sub
すると、ChatGPTは以下のように回答してくれます。
このコードから、税込み価格を計算する部分を関数として分割することができます。以下にその例を示します。
Sub CalculateTaxIncludedPriceAndDisplay()
Dim price As Long: price = 100
Dim tax_rate As Currency: tax_rate = 0.1
' 関数を呼び出して税込み価格を計算する
Dim tax_included As Currency
tax_included = CalculateTaxIncludedPrice(price, tax_rate)
' 税込み価格をメッセージボックスで表示する
MsgBox "税込み価格は" & tax_included & "円です"
End Sub
Function CalculateTaxIncludedPrice(ByVal price As Long, ByVal tax_rate As Currency) As Currency
' 税込み価格を計算して返す
CalculateTaxIncludedPrice = price * (1 + tax_rate)
End Function
このように、計算部分が関数 CalculateTaxIncludedPrice に分離され、計算が必要なときはその関数を呼び出して結果を取得する形になりました。関数は引数を受け取り、計算結果を戻り値として返すので、他のプログラムでも再利用可能です。
バッチリですね。「引数」とか「戻り値」とか専門用語が出てきますので、ぜひこれらのワードも基礎といて学んじゃいましょう。
ChatGPTは関数名の命名もお手の物
自分で関数を分割したならば、自分で関数名を考える必要があります。言語によっては英語でつけなければいけなかったり、考えるのが苦手だという方もいるでしょう。
そんなときも、ChatGPTに頼むと良いですよ。
例えば、次のようなプロンプトを投げてみましょう。
以下の関数の適切な名前を提案してください。
# コード
Sub MySub()
Dim price As Long: price = 100
Dim tax_rate As Currency: tax_rate = 0.1
Dim tax_included As Currency
tax_included = price * (1 + tax_rate)
MsgBox "税込み価格は" & tax_included & "円です"
End Sub
こんなふうにプロンプトを投げれば、ChatGPTが適切な名前を提案してくれます。たとえば、以下のような回答です。
このSubプロシージャは「税込み価格を計算して表示する」という目的に基づいていますので、適切な名前として以下を提案します:
1. **CalculateTaxIncludedPrice**: 税込み価格を計算するという内容を正確に表現しています。
2. **ShowTaxIncludedPrice**: 計算した税込み価格を表示することを強調しています。
3. **DisplayTaxIncludedPrice**: さらに表示に焦点を当てた名前。
4. **CalcAndShowPriceWithTax**: 計算と表示を同時に行うことを簡潔に表現。
特に用途や他のコードとの統一性に応じて選択するとよいでしょう。
名前をつけるのって意外と難しいですが、誰にでも分かりやすい命名ができると、コードの読みやすさも格段にアップします。
まとめ
以上、「ノンプロ泣かせの「関数」…部品化も命名もChatGPTにお任せしちゃおう」についてお伝えしました。
ということで、「なんか部品として取り出せそうだな…」と感じたら、ぜひChatGPTを活用してみてくださいね!
引き続き、みなさんがいきいきと学び・働くためのヒントをお届けしていきます。次回をお楽しみに!
この話を耳から聴きたい方はこちらからどうぞ!
連載目次:【初心者向け】ノンプログラマーのChatGPT活用術
プログラミング学習にChatGPTを使いたい、でもいまいちどうやって使ったらいいかわからない…そんな初心者ノンプログラマーのためのChatGPT活用法を紹介していきます。- 初心者ノンプログラマーは有料版のChatGPTを使うべきなの?
- 初心者向け!ChatGPTが常に「中学生にわかる日本語で」回答してくれるカスタム指示の使い方
- ChatGPTにコードを解説してもらう方法とそれが初心者ノンプロに超おすすめの理由
- 基本中の基本!ChatGPTにプログラミングのキーワード解説をしてもらおう
- 学習効果バツグン!ChatGPTにプログラミングのクイズを出題してもらおう
- パッと見で整理&一発理解!ChatGPTに表をつくってもらおう
- 初心者ノンプログラマー必須テク!ChatGPTにエラーの解決方法を教えてもらおう
- 意外と使えるハック技! ChatGPTにフローチャートをつくってもらおう
- 使わない手はない!初心者ノンプロのためのChatGPTをつかったプログラム作成法
- ChatGPTに命令順を指示してプログラムをつくってもらおう
- 超便利テク!プロンプトがうまく書けないなら、逆にChatGPTに質問をしてもらっちゃおう
- Excel&スプレッドシートのプログラミングに超便利!ChatGPTのファイルアップロードを活用しよう
- コードを読み返すときにもChatGPTは大活躍!コメントも書いてもらおう
- ノンプロ泣かせの「関数」…部品化も命名もChatGPTにお任せしちゃおう