クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

AIが書いたコードのレビュー

このレッスンのあとで: 自分が書いていないコードを、読む、動かす、問うの順で点検できる。

60分のレッスンコマンド1件AI コーディングエージェントのラボ:opencode でコードを説明・修正し、その結果を確かめる

生成コードのレビューとは

コードレビューとは、書かれたコードを、使う前に別の目で点検することです。AIアシスタントが書いたコードも、自分が書いたものと同じように、レビューしてから使います。

動いて見えるコードにも、条件の抜けや、危ない書き方が混ざることがあります。

このレッスンのゴール

メモ

自分が書いていないコードを、読む、動かす、問うの順で点検できる。

今日のキーワード

ことばいみ
レビュー使う前に、コードを別の目で点検することです。
差分変更の前と後の違いです。
例外実行中に起きる、失敗の知らせです。
リソースファイルなど、使い終えたら返すものです。
前提コードが当たり前としている条件です。

学生が入力するセルは、このプレビューでは空白です。

レビューは読む、動かす、問う

レビューは3つの手順で進めます。まず読んで、1行ずつ何をしているかを説明します。次に動かして、実際の答えを見ます。最後に、なぜこの書き方か、ほかの場合はどうかを問います。

読むだけでも、動かすだけでも、見落としが出ます。

レビューの3つの手順

手順見ること
読む1行ずつ説明できるか
動かすテストと例で、答えを見る
問うほかの入力ではどうなるか

学生が入力するセルは、このプレビューでは空白です。

ラボのコードで入口を探す

読むときは、まず関数の入口を探すと、全体の形がつかめます。次の Run は、ラボのプロジェクトで function という言葉を含む行を、行番号つきで探します。

最初の状態では、3つの関数の行が出ます。中身を読むのは、そのあとです。

関数の入口を探す

コマンド
docker exec -w /home/node/project agent grep -n function shop.js

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

動いても危ない書き方がある

例外を全部飲み込む書き方は、失敗を隠します。次のコードは、文字が入ってもエラーにならず、0 を返してしまいます。

年齢が 0 のデータが静かに混ざり、あとで見つけにくい誤りになります。

失敗を隠すコード

コード: python
def read_age(text):
    try:
        return int(text)
    except:
        return 0

# 文字が入っても、エラーになりません。
print(read_age("20"))
print(read_age("二十歳"))

# except: を except ValueError: に変えて、もう一度実行します。

よくある危ない書き方

書き方起きること
except: だけどんな失敗も隠す
eval(入力)入力がコードとして動く
open() を閉じないファイルが開いたまま残る
未完成の印が残る途中のコードが混ざる

学生が入力するセルは、このプレビューでは空白です。

よくある間違い

注意

「AIが書いたから、きれいで正しい」「動いたから、レビューは済んだ」と考える人がいます。動くことと、安全で正しいことは別です。動いた後に、読んで問う手順が残っています。

このラボとソースについて: AI コーディングエージェントのラボ:opencode でコードを説明・修正し、その結果を確かめる

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。