見出し画像

AIエディタがプログラム開発で役に立つポイント

昨日に続き、Cursor エディタを使ってみての感想投稿です。本日は、気象庁のREST APIからデータを取得して成形したのちに、コンソールに出力するプロジェクトを開発していました。

AIが役に立ったポイント

1. データ処理ロジックの生成

今回は気象庁から取得したJSONを加工するロジックを実装しています。気象庁が提供しているJSONをファイルにダウンロード(input.json)し、さらに加工後のJSONフォーマットを手作業で作成してファイルを作成(output.json)し、これら二つのファイル `input.json` と `output.json` を Cursor のプロンプトに読み込ませたうえで、コードを作成させたら一発で作成してくれました。

データ処理コード生成のプロンプト

最初に生成されたコードは、エラーが発生して正しく動かなかったため、何度かプロンプトと対話、および手作業での修正を行いながら、最終的なコードに落とし込みました。

2. コメントの追加

作成したコードを選択して、「コードのコメントを追記してください」とお願いすることで、関数や変数を理解してコメントを付与してくれました。下記の例では英語でコメントを書いていますが、日本語でコメントを付与することもできました。

/**
 * The transformData function extracts specific weather information from JSON data
 * and converts it into an ArrayBuffer of formatted strings.
 * 
 * @param jsonData JSON data of type ujson.Value
 * @return ArrayBuffer[String] containing formatted weather information strings
 */
def transformData(jsonData: ujson.Value): ArrayBuffer[String] = {
  val buffer = ArrayBuffer[String]()
  val timeSeries = jsonData(0)("timeSeries")(0)

3. テストコードの生成

コードを書いて、満足いく結果が出てきたら、次にチャット画面からテスト・コードを生成させてみました。こちらも本体のコード同様に、最初に生成されたコードでは、エラーが発生して機能しませんでしたが、アウトラインを作る上では悪くないと思います。
また、今回の私のケースのように、言語自体の習熟が不十分な場合、自分の書いた本体のコードに合わせてテスト・コードを作ってくれるのは、生産性の観点で非常に有益です。

テストコード生成のプロンプト

AIが役に立たなかったポイント

1. 必要なライブラリの抽出

Scala では、`build.sbt` に依存関係のあるライブラリを記載する必要があります。`build.sbt` 上で本体のコードを読み込ませて、必要なライブラリを追記するようにお願いしましたが、残念ながら追加してくれませんでした。
Scala の VS Code Extentions については、あまり理解しておりませんが、Pythonなどの Extentions を見る限り、自動で必要なライブラリを判定してくれる拡張機能はあるので、AIではなく、拡張機能で対応したほうが良いかもしれません。


この記事が気に入ったらサポートをしてみませんか?