本文へスキップ
AIupick

コーディング

小さなコードを理解して直す

コーディングツールにまずコードを説明させ、変更は一度に1つずつ小さく行い、すべて自分でテストします。

合うツールの種類:コーディング

手順

例:空のリストでクラッシュするPythonの関数

  1. 1
    パスワード、APIキー、顧客の個人データは絶対に貼り付けないでください。

    例

    この関数は、APIキーも書かれたファイルの中にあります。コピーするのは関数だけにし、キーは絶対にコピーしないでください。

  2. 2
    コードが本来何をするべきか、そして実際に見えているエラーや動作を正確に説明します。

    例

    入力する内容

    このPythonの関数は、数値のリストの平均を返すはずです: def average(numbers):    return sum(numbers) / len(numbers) average([2, 4, 6])は動きますが、average([])は次のエラーで止まります:ZeroDivisionError: division by zero空のリストのときはNoneを返すようにしたいです。
  3. 3
    変更を頼む前に、コードの説明を求めます。

    例

    入力する内容

    まず、関数の各部分が何をしているか、そしてなぜ空のリストで失敗するのかを説明してください。コードはまだ変更しないでください。

    私たちが書いた回答例です。実際のツールの回答は異なります。

    sum(numbers)は数値を合計し、len(numbers)は数値の個数を数えます。空のリストではどちらも0になり、Pythonは0で割ることができないため、ZeroDivisionErrorが発生します。
  4. 4
    変更は一度に1つずつ、小さく加えます。

    例

    入力する内容

    では、空のリストのときにNoneを返す最小限の変更を提案してください。

    私たちが書いた回答例です。実際のツールの回答は異なります。

    def average(numbers):    if not numbers:        return None    return sum(numbers) / len(numbers)
  5. 5
    コードとそのテストを自分で実行し、変更されたすべての行を読みます。

    例

    両方のケースを自分で実行します。average([2, 4, 6])は4.0を返し、average([])はNoneを返すはずです。追加された2行を読みます。空のリストを処理するだけで、ほかは何も変えていません。

コピーできるテンプレート

[言語]のコードです:
[コード]
本来は[期待する動作]になるはずですが、実際は[実際の動作またはエラーメッセージ]になります。
まず、このコードが何をしているかを順番に説明してください。
次に、問題を直せそうな最小限の変更を提案し、その理由を説明してください。
修正をどうテストすればよいかも教えてください。

AIに不確かな点を示すよう頼んでも、答えが正しくなるわけではありません。大事な部分は引き続き確認してください。

結果を確認する

  • 変更が何をするのか理解できている。
  • 自分のマシンでコードが動き、テストが通る。
  • 秘密の情報をツールに渡していない。
  • 変更によってコードの他の部分が壊れていない。
  • 変更されたすべての行を読んだ。

試せるツール

名前順で、順位ではありません。並べて比較できるのは同じ種類のツールだけです。

コーディング

この4個を比較
  • Amazon Q Developer

    コーディング

    Amazon Q Developerは、コードエディター、コマンドライン、AWSコンソールで使えるAWSのソフトウェア開発向けAIアシスタントです。初心者なら、無料枠でコードの提案を受けたり、AWSについて質問したりするのに試してみるとよいでしょう。

    主な特徴: Amazon Q in the AWS Management Console, Java upgrade transformation, Diagnose with Amazon Q

    確認済みの無料プラン最も安い有料プラン:Pro Tier $19.00/月
  • Cursor

    コーディング

    Cursorは、Anysphereが開発したAIコードエディター兼コーディングエージェントで、デスクトップアプリ、コマンドラインツール、クラウドエージェントとして動きます。初心者なら、入力中にコードの提案を受けたり、エージェントにプロジェクトの説明や変更を頼んだりするのに試してみるとよいでしょう。

    主な特徴: Tab, Cloud Agents, Bugbot

    確認済みの無料プラン最も安い有料プラン:Pro $20.00/月
  • GitHub Copilot

    コーディング

    GitHub Copilotは、コードエディター、コマンドライン、GitHub.com、GitHub Mobile、デスクトップアプリで使えるGitHubのAIコーディングアシスタントです。初心者なら、入力中のコード提案や、リポジトリについての質問に試してみるとよいでしょう。

    主な特徴: Copilot cloud agent, Copilot code review, Third-party coding agents (Claude and Codex)

    確認済みの無料プラン最も安い有料プラン:Copilot Pro $10.00/月
  • JetBrains AI Assistant

    コーディング

    JetBrains AI Assistantは、JetBrainsのIDEにAIチャット、コード補完、コーディングエージェントを追加するプラグインです。初心者なら、IntelliJ IDEAやPyCharmでのコード提案や、プロジェクトについての質問に試してみるとよいでしょう。

    主な特徴: JetBrains Air in IDEs, Junie, Claude Agent and Codex in AI Chat

    確認済みの無料プラン最も安い有料プラン:AI Pro $10.00/月
  • Tabnine

    コーディング

    Tabnineは、コードエディターとターミナルで使うAIコーディングアシスタントです。現在はTricentisが所有しており、最新のドキュメントでは企業向けプランが説明されています。所属する組織が利用できるようにしていれば、初心者もコード補完やコードベースについてのチャットに使えます。

    主な特徴: Private installation (on-premises or VPC), Context Engine, Provenance and Attribution

    無料プラン:未確認有料プランは未確認
Esc
↑ ↓で移動Enterで開く