システム機能設計書_画面、ドメイン定義書(任意)
Formクラスのjavaソースコード(HogeForm.java)
利用するシチュエーション
- 実装者が実装を行う際に、画面の入力項目からFormクラスを労力なく書きたい。
- あまり複雑ではないFormを手早く生成したい。
プロンプトテンプレート
[]の個所に、設計書等からPJにあった記述を記載してください
原則として、以下はNablarch標準で用意されている設計書のフォーマットをインプットに与えることを想定しています。 それ以外のフォーマットをインプットとする場合は、テンプレートをチューニングしてください。
出力サンプル
https://chat.openai.com/share/2a37d144-2cb7-465d-b1a4-42e0504ef428
利用方法
プロンプトテンプレートを順番に実行していきます。 テンプレートの[]の個所は、設計書等からPJにあった記述を記載してください
- 事前準備を実行
- Formを初期作成
- バリデーションを実装
- List型を適応
の段階をふんでFormを作成します。 3~4は自力で実装したり、そもそもそのような実装がない場合は不要です。 詳細については各プロンプトテンプレートを参照してください。
注意点として、2~4ではChatGPTの入力長の制限の都合上、必要でない部分を省略しています(例えば、3ではバリデーション部分以外は出力しない)。なので、2~4の出力をそれぞれコピーし結合してFormを作成してください。
注意事項
ChatGPTの不正確な回答について
ChatGPTの回答にはランダム性があるため、同じ入力でも常に期待通りの回答が帰るとは限りません。 執筆者環境では、以下の点で期待しない回答がされることがありました。
・必須かそうでないかを間違える(出力サンプル参考) ・JavaDocが英語で表示される ・Utilのメソッドで使用できるものがあっても使用してくれない ・命名規約が異なる(snake_caseになる、メソッド名に日本語を使う、など)
その場合、その点を指摘することで、正しい出力を期待することができます(出力サンプル参考)。
Formの入れ子について
実際のケースでは、Formの入れ子構造になることがありますが、 これを実施するには各Formに関する知識等を与える必要があるため、このテンプレートは直接的には対応はしてません。
List型への変換のみであれば「Collection型にする」のプロンプトテンプレートを用意しているので、これをさらにチューニングするか、自力またはGitHub Copilot等で実装を行ってください