Upgrade to Pro — share decks privately, control downloads, hide ads and more …

チームの開発生産性を高める!AI時代のコードレビュー

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for emi084 emi084
December 04, 2025

 チームの開発生産性を高める!AI時代のコードレビュー

Avatar for emi084

emi084

December 04, 2025
Tweet

Other Decks in Technology

Transcript

  1. def some_method(user:) if user.is_active?がtrueの場合 処理A else 処理B end end 指摘:

    user (インスタンス全体)だと主語がデカすぎて、どのような用途で渡しているのか が見えづらいので、 user.is_active? (Boolean値)を渡す形で良い気がしました ー。 例1:可読性・意図の明確さ ©GLOBIS. ALL Rights Reserved. 13│
  2. 仕様: 「欠席が3回以上」 or 「課題未提出」 → テスト受験不可 if 欠席が3回以上 "受験できません(欠席が多いため)" elsif

    課題未提出 "受験できません(課題未提出のため)" else "受験可能です" end 指摘: 欠席が3回以上かつ課題未提出の場合、どちらのメッセージが表示されますか?両方該 当するケースが考慮されていないのでは? 例3:仕様の考慮不足 ©GLOBIS. ALL Rights Reserved. 15│
  3. 仕様: ユーザーが購入したことのある商品のジャンルを検索したいケース select * from ユーザー join 購入履歴 on ...

    join 商品ジャンルマスター on ... 指摘: 現状、一部経路からの購入では「購入履歴」テーブルに保存されないケースがありま す。 「申込履歴」テーブル経由で取得した方が良いかなって思いました。 例4:複雑な仕様・歴史的経緯に絡むこと ©GLOBIS. ALL Rights Reserved. 16│
  4. 方法 1. プロンプトで教える 2. コメントで教える 3. ナレッジで教える 4. 役割を分担する AIを育てるとは?

    AIを育てる = 足りないコンテキストをAIに教えること » ©GLOBIS. ALL Rights Reserved. 19│
  5. 「人間が読んでわからないコード」は「AIが読んでもわからない」 コメントこそが、コードに最も近い最強のコンテキストになる。 例) # 〇〇経路の購入は記録されません。すべての購入履歴を取得したい場合は「申込履歴」を参照してください。 class 購入履歴 ... end #

    pending が組織から削除された状態を意味する next unless admin_affiliation.state == 'pending' ※ 本来はリファクタリングすべきですが、現実は即対応できないことも多いですよね…! 方法2:コメントで教える ©GLOBIS. ALL Rights Reserved. 21│