Day 005 — 2026-04-18

コードレビューのフィードバックを伝える

Phase 1 — Survival 👥 1on1/会話 ⚙️ Engineering ★★☆☆☆

シナリオ

あなたはECサイトを開発する日系グローバル企業のソフトウェアエンジニアです。今日、チームメンバーの Mark(アメリカ人、英語ネイティブ)が書いたコードのプルリクエストをレビューしました。

コードには2つの問題点があります:

  1. 変数名が短すぎて意味が分かりにくい(tmp, x, d
  2. エラーハンドリングが書かれていない

Mark と Slack ビデオ通話で1on1 レビューをしています。改善点を相手を傷つけずに伝えなければなりません。

あなた
シニアエンジニア
コードレビュアー
相手
Mark
Junior Engineer · 英語ネイティブ · チームに来て3ヶ月

文化的コンテキスト

🥪
サンドイッチ構成が基本
英語圏のコードレビューは「批判 → 改善提案」ではなく「良い点 → 改善提案 → 一緒に解決」
🚫
"You're wrong" は絶対NG
"you" を主語にした批判は人格攻撃に見える

タスク

以下の Mark の発言に対して、英語で返答してください。

Mark の発言への返答
Mark — Junior Engineer

"Hey, I just submitted the PR. I think it's pretty clean — took me a while to optimize the logic. Let me know what you think!"

以下の内容を自然な会話で伝えてください:

  1. まず Mark の努力を認める(良い点を言う)
  2. 変数名の改善を提案する("I noticed..." や "It might help if..." など柔らかい表現で)
  3. エラーハンドリングの追加を提案する
  4. 全体的に前向きなトーンで締める
⏱️ 5分 📝 80〜120語

使える表現・フレーズ

カードをクリックすると英語フレーズを表示します。

〜に気づいた クリックで英語を表示 →
I noticed that... 💡 批判を避けた柔らかい導入
〜かもしれない(改善提案) クリックで英語を表示 →
It might help to... 💡 断言を避ける提案口調
〜するとどうでしょう クリックで英語を表示 →
What if we...? 💡 一緒に考える協調的な表現
〜についてどう思う? クリックで英語を表示 →
What do you think about...? 💡 相手に考えさせる
全体的に良い クリックで英語を表示 →
Overall, it looks solid 💡 肯定から入るサンドイッチ
読みやすさ クリックで英語を表示 →
readability 💡 コードの可読性

ヒント(段階的開示)

ヒント 1 — 構成

1文目: 良い点を認める → 2〜3文目: 変数名の提案 → 4〜5文目: エラーハンドリングの提案 → 最後: 前向きな締め

ヒント 2 — キーフレーズ・表現
  • Good job on optimizing the logic! で始めると自然
  • I noticed some of the variable names like `tmp` and `x` are a bit short → 事実として伝える
  • It might also help to add some error handling → 提案口調
ヒント 3 — 骨格テンプレート

返答の骨格:

"Good job on [良い点]!
I noticed [問題1 — 変数名]. It might help to [具体的提案].
Also, [問題2 — エラー処理]. What do you think about [具体的提案]?
Overall, [前向きな締め]."

モデル解答(B2〜C1相当)

Mark — Junior Engineer

"Hey, I just submitted the PR. I think it's pretty clean — took me a while to optimize the logic. Let me know what you think!"

あなた(モデル解答)

"Good job on optimizing the logic — I can see the effort you put into it!

I did notice that some of the variable names, like tmp and x, are a bit hard to follow. It might help to use more descriptive names, something like temp_price or discount_rate, so the next person reading the code can understand it at a glance.

Also, I didn't see any error handling in the payment processing section. What if we added a try-except block to catch potential exceptions? That way, we'd prevent any unexpected crashes in production.

Overall, the core logic is solid — just a couple of small tweaks and it'll be really clean. Let me know if you want to walk through it together!"

解説

構成分析

1
書き出し(良い点): "Good job on..." → Mark の努力を最初に認める。サンドイッチの「パン」上部。
2
問題1(変数名): "I did notice..." — did は強調ではなく「確かに気づいた」のニュアンス。"a bit hard to follow" で批判を柔らかくしている。改善提案1: "It might help to use more descriptive names" → 押し付けでなく提案口調。具体例 temp_price で明確化。
3
問題2(エラー処理): "I didn't see any..." — 「存在しない」を事実として伝える。責めるニュアンスなし。改善提案2: "What if we added...?" → "we" を使って「一緒に直す」感覚を出す。
4
締め: "the core logic is solid" でもう一度肯定。"Let me know if you want to walk through it together!" でサポートを申し出る。

重要表現まとめ

表現意味・ポイント
at a glance一目で。コードの可読性について話すときの定番表現
catch potential exceptions潜在的な例外を捕捉する。エンジニア向け英語の定番
in production本番環境で。"prevent crashes in production" はよく使う
walk through it together一緒に確認する。ペアプロやレビュー会話で頻出

文化的ポイント

🚫
"you" を主語にした批判はNG
"Your code is wrong" は人格攻撃に見える。"the code" や "I noticed" を主語にする
🤝
"What if we...?" は協調的問題解決
日本語の「〜しましょうか」より相手の意見を尊重するニュアンス

よくある日本人のミス

❌ "Your variable name is bad."
直訳・直接的すぎる批判
✅ "Some variable names are a bit hard to follow."
❌ "Please add error handling."
命令形は強すぎる
✅ "It might help to add error handling."
❌ "I think your code needs work."
否定的・漠然としすぎる
✅ 具体的な改善点を柔らかく言う
❌ フィードバックを最後にまとめて言う
日本的な「結論は最後」
✅ 英語は最初に良い点、次に改善点(構造的)

ワンランク上の表現(Phase 2 以降)

Basic
"The variable names are not clear."
↓ コードレビューの文脈では
B2
"One thing that might improve readability is using more descriptive variable names."
↓ さらに上のレベルでは
C1
"Have you considered adding error handling here? This is a good start — let's iterate on it."
"One thing that might improve readability is..."
(「読みやすさを上げる一点として」— 柔らかく改善を提案)
"Have you considered adding...?"
(「〜を追加することを検討しましたか?」— 提案の問いかけ)
"This is a good start — let's iterate on it."
(「良いスタートです、反復して改善しましょう」— アジャイル的な表現)

次のステップ

  • 発展: Mark が「なぜ変数名を短くしたか」と反論してきたとき、どう返すか練習する
  • 次回(Day 006): Negotiation × Engineering — 技術的負債対応のスコープ交渉

自己評価(解いた後に記入)

理解度

自分の回答

Mark へのコードレビューフィードバック

気づき・メモ