Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

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

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│