レビュー
新人プログラマ応援

コードレビューと焼肉の関係 〜難しいコードレビューのコツ〜

Code Review Meetup #2 関西でもコードレビューで集まろう 資料

恩師 ( @skuroki@github さん ) に背中を押してもらって、LTに登壇することになったので、Qiitaでスライド作成。

Connpass :https://sideci.connpass.com/event/79614/


コードレビューは時に難しい。


コードレビューに時間がかかると、焦る。


なぜか?


エンジニアの生産性は、ただでさえ計測しにくいものなのに。レビューともなれば、なおさらだ。


「レビューに時間がかかる」=「何も生み出していない感」を感じてしまう。


難しいレビューの難しさというのは、ここにあると思う。


ところで


コードレビューは焼肉だ。


image.png


美味しいカルビの時もある。


image.png


噛み切りにくいホルモンのときもある。


image.png


「カルビかと思いきや、ホルモンだった!」ということもある。


image.png


「こいつはホルモンだ!」とさえ分かれば「工夫して噛み切ろう」という食べ方が出来る。


ホルモンをカルビだと勘違いしたままだと、色々まずい。


焼肉の選定眼。


カルビとホルモンを見分けよう。


レビューにはカルビとホルモンがあることを認識しておこう。


「なにかおかしいぞ」「噛みづらい」と感じた時は、ホルモンじゃないかと疑ってみよう。


「思ったよりレビューに時間がかかる」「レビューが進んでいる感じがしない」 そんな時は。


それ、だいたいホルモン。


Don't think, feel!


Empty your mind.


ホルモンを噛み切るための対策


一、少しずつ食べる


最初は軽く噛む。コードを全体的に、ふわっと眺めてみる。

Descriptionとかを読んだり、コミットを行ったり来たりする。

時間をかけて体をコードに慣らしていく。


一、手を動かす


肉を眺めているだけでは、噛み切れない。

Githubでコードだけを眺めていても、永遠に理解できないようなレビューもある。


そういう時は手を動かそう。

コードを手元に持ってきて、動かしたりしてみよう。

レビューの基本だが「カルビ」だと侮っていると、忘れがち。


一、筋を噛み切る


すなわち、ボトルネックを見つける。


ホルモンの強敵は筋だ。

筋さえ切ってしまえば、あとは簡単に飲み込める。

本体を飲み込む前に、まずは筋を噛み切ろう。


「自分が何を理解できていないか」をまず理解する。

知らないメソッドや英単語などがひとつでもあれば、調べてみる。


メソッドの呼び出し元、呼び出し先を辿ってみる。

PRのDescriptionを読み直して、大前提を確認してみる。

「理解できていない」という基本に何度も立ち返る。


一、箸を置く


画面にずっとかじりつかず、いちど理解に務めたら、離れる。(ディタッチモード)

PRがゲシュタルト崩壊してくる前に、しばらく時間を置く。


一、大きな皿で食べる


たとえば、大きなディスプレイでレビューする

随分味わいが違ってくる

道具の使い方を変えてみる


歩いたり、休んだりしながらコードについて考えてみる

時間が許すなら、他の仕事に取り掛かったあとで、もういちど戻ってくる。

これは脳科学的に見て正しいアプローチな気がする。(たぶん)


一、店に食べ方を聞く


口頭で話せるような環境なら、実装当人に食べ方を聞いてしまうのは、最強だ。

「自分の顎だけで噛み切る」という贅沢は出来なくなるが、とにかく効率は良いし、店主の考えを聞くことも出来る。


一、顎を鍛える


中期的対策。

たとえば、実装者が今までに読んできたような技術書を聞いて、読んでみる。

チームで読書会なんか開くと、レビューにおいての共通理解も生まれやすいかもしれない。


image.png


image.png


一、涼しい場所で食べる


室温が高いとレビューに集中できない! (自分の場合)

部屋は涼しい方が焼肉は美味い。

難しいレビューほど、快適な空間でやってみよう。


一、時には噛まずに飲み込む。


時間をかけて噛み切ることが、常に良いことだとは限らない。

「こいつはホルモンでも、上質なホルモンだ」と分かっているなら、

「マージで美味い」とつぶやきながら、飲み込んでしまっても良いかもしれない。


一、いただきますの心


熟練のエンジニアでも、レビューには時に時間がかかると聞く。

「経験があるから、うまく食べられる」とは限らない。

毎回、新しい食卓につく気持ちで、ゆっくり味わう必要もあるかもしれない。


色々と書いたけど、大事なことはひとつ


ホルモンを見分けて、工夫して食べること!


個人的なこと


「レビューは、難しい」

「いつまでも上手くならない」

「こんなに時間がかかる自分は、レビュー力が低いのでは」

と常々思っていたのだが


ホルモンを噛み切る努力をしているせいなのかどうなのか

周りの人からも、レビューを褒めてもらえることが増えた


「ちゃんとレビューしてる感」「咀嚼してる感」は、自分の知らないところで伝わるものなのかもしれない。


ホルモンに負けないで!


いち早くホルモンを見抜いて、一番良い食べ方を工夫しよう。


今からあなたに暗示をかけます。


これからの人生で、コードレビューをする時


あなたはきっと、焼肉のことを思い出すでしょう。


REMEMBER KALBI!


REMEMBER HORMONE!


ますます美味しくなりますように。


image.png


以上。


発表

image.png


この記事の思い出し方

image.png