#027 嫌われないコードレビューをしよう!
2022/4/3 ·
-
さあ始まりましたひまじんプログラマーでございますいってまいりました! エバナーです!というわけでこのラジオはひまじんの中級エンジニアを送る駆け出しエンジニアをキャリアアップさせるラジオになってます最初なんて言ってた?わかんないぞもう噛みたくなかったんですけどだんだん僕が噛まなくなってきましたそうだよねはいというわけで自己紹介です僕中級エンジニアのカイチです中級エンジニアのノリです初級エンジニアのじゅんぺいですはいというわけで今日はですね
-
嫌われないコードレビューをしようという話ですめっちゃ嫌われてそう怖いな僕1年目の時結構コードレビュー怖かったんですよ僕変数名めちゃめちゃだったんでボロクソ言われたわけですよもうコード書く才能ないわもうやめようダメージ食らってたわけなんですけど
-
こうやって先輩でコードレビューすることが多くなってきてコードレビューってそういうもんじゃないなと思ってうーん
-
でもやられてる側からしたら詰められてるように感じるんですようんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうんうん
-
つーわけであとね駆け出しプログラマーとどうやってコードレビューしんだろうなこれ多分そっちのやつバズって言ったってことはほぼ正解であろうことから推測するに我々の手法から話していった方がいいですよねそうしましょうぜひぜひすみません聞いてる方正解は最後ですはいすみませんはいはいというわけで順平普段どんな感じでコードレビューしてんのっていう話を一回してほしいはいうわー俺らねあのふむふむって聞くから
-
聞くからいやもうはいじゃあいきますね僕はチーム開発をやっててその時の話をしますと同期のエンジニアでしたサーバーサイト3人いてコードレイクしやんっていう状況で送られてきてぶっちゃけ僕は動けばいいと思ってなんで
-
まあ動くようなコードなら ok っていう感じでとりあえずバーッと一通りを見て見てプラスマイナスを見て動くような感じなら ok であとは またしか変数名もちょっと見てましたこんな感じなんだぐらいの感じで こっちのがいいかもねーとかっていうのはちょっとコードやりとりしながらもそこを見てであとは
-
それぐらいかな?マジでそれぐらいですねちょっと質問いいですか?動くってどうやって判断するんですか?いやそうなんですよねえ?どういうこと?もしかしたら動かないかもしれないかもしれないそういうこと?じゃあ目で見てバグなさそうだってこと?そうですね同格しないの?動作確認?動作確認?してますどうやって?その人のパソコンその時は
-
ズームとか繋いで、リモートだったんでズームとか繋いで画面共有してもらってこういう風に動きますとかやってもらってましたへぇー今思い出しましたなるほどねーそれはなかなかねー青くせぇないやいや、トップバッターとしてちなみになんだけどコードレビューのやり方とかってレクチャーとか研修じゃないんだじゃんされなくない?普通なんか周りを見て育つところだよねなんか
-
なかったですそれでもコードレビューしようっていうのに至ってすごくないですか確かに
-
しろって言われたえっと今話したチーム開発は2回目なんですよ で1回目の時は本当に入って2ヶ月目最後の研修最後の成果物って感じで4人で作ったみたいな感じだったんですけどその時はその先生みたいな人にコードレビューしてもらってまずはチーム内でコードレビューして先生にも見てもらってっていうのはやってましたなるほど教わってたかって言われるとちょっと分からない
-
ちなみにコードレビューは会議しながらやるっていう認識なのかなそれともなんか重さによったりする重さによる結構分かりづらいというかいっぱい追加したりとかちょっと難しいテーブル結束が複雑になっちゃったやつとかハンズオンズームつないで画面共有でみたいなのでやってたんですけど軽めのこれちょっとこうしたよぐらいの感じだと全然コードだけ送られてきてそんな感じなんだって言って
-
マージしてましたなるほど僕いいですか?ちょっと待ってください相談じゃない質問ですコメントとか残します?何かあった時何書くんですか?基本何かあった時ここおかしくね?それこそ変数名とかもこの方が良くないっていうのとかは
-
そうこの変数名どう?みたいなコメントは残してましたじゃあなんかその違和感あるところに目印をつけるっていう意味でコメントをつける感じだそうですねそうですねフルリク?フルリクエスト作ってる?作ってますあーそこに載せるのではいなるほどねはいそんぐらいですか?確認する期は多分そんなもんだなまあそうねはい
-
はい、じゃあちょっと僕いいですか?はい、お願いします僕なんですけどかつては対面でコードリビューすることが多かったんですが出社してる時とかはね今はリモートなんで非同期でやってますプルリクをプルリク出しましたってURL送られてきて僕が暇な時見るみたいな感じでやってますでプルリク来ましたまず
-
GitCloneして違う、GitPoolかプッシュされたブランチを手元に持ってきますで、俺のローカル手元で単体テストとかがあるんで単体テストを実行して「あー動くね」ってまず見ますとで動いたわよし、じゃあコード見るかでコード見る時には変数名とか書き方とかあとまあ
-
なんでしょこれだと後々管理大変だよねまあそういうなんか気になったことをコメント で書くのが一つコメント書くときに意識しているのは絶対こうって僕言えないんですよこういう書き方の方が今後こういう風になって楽だと思うんですがいかがでしょうかみたいなそういうビクビクしたコメント書いてます僕は大事なことだと思うけどねそれなんであの
-
柔らかい書き方&解決策の提示を絶対やるって意識をしてます。なるほど。それはちょっとね、マジ悩むコメントは悩むんですけどね。で、もう一個。これのりさんに言われて始めたんですけど、絶対一個は褒める。俺言ったっけそれ?俺のりさんに言われてました。マジか。言われて、あーいいなと思って、この書き方いいですねとか、こここうやって書くと確かにスマートに書けますねとか、一個褒める。絶対。で、いっぱい褒めるとかあったらいっぱい書くんですけどね。
-
受け取った側からしたらなんだこれって思うかもしれないですけどそれによって救われる人はいるかもなと信じて僕が勝手にやってます救われますなるほど一個数は決めてないけどいいのがあったら言うあとは気になったところっていう範囲が広すぎてそこはちょっと具体的には言わないんですけど
-
ざっくり言うとそんな感じで伝えられないこととかあまりにも重たいものとか本当に俺どうしたらいいかわからんっていうのは電話かけますねまあそういうの大事だよねこれわかんないなとか意図がわかんないですとかいうのは
-
僕直接コミュニケーションに勝るものはないって思ってる昭和人間なんでいやいやいや あのあるよそのコメントだとやりとり長くなりすぎて逆に長くなっちゃうとそうなんですよねなんかワンリレーで終わんなそうなやつは電話するって言って電話してしたやつを文字に残しますですね
-
後輩に対して気をつけるのは、これは個人抗議じゃないですと明言します。おーそうなんだ。先輩には言いません。すごい、目回ししっかりしてるね。後輩に嫌われるのが一番嫌なんだよ。そうだよね。怖いしね、先輩ね。確かに。先輩には大丈夫だと思ってるんで。うんうん。
-
そんなもんかななるほどね流れとしては単体テスト見るコード見るその後今後の管理とか大変じゃないかなみたいなのをなんとなく見てみて終わりはいはいはいなるほどこれが僕のコードレビューバージョン2.2ぐらいですなるほどねすでに勉強になるじゃあ僕いいですかはいお願いします僕の場合ですとまず
-
あれだよね教えてる人向けのやつじゃない方がいいよね 単純に開発プロジェクトに入った時のプロリクの話だとまずプロリクエストの概要欄見ます 一応ルール決めてて何やったかとか懸念点とか書いてるんですけどまずそれ読んで概要を把握します その後コード見てってコメント残していくんですけど
-
さっき言った良いところあったら褒めてそうじゃない時はちゃんと指摘するみたいなところはやってるんですけど比率で言うと指摘が9割ですねそうっすよねもっと多いと思うそりゃそうなるで結構口調は絶対レイドの口調ですね怖ーエラーメッセージぐらいの気持ちで来るんですねあんま感情死んでる感はあるかもしれないあんま優しそうじゃない
-
でもそれを打ち消すために絵文字使う 文章詰めたい絵文字みたいな絵文字親指下に立ってるやつとかない一番よく使うのはレイジングハンドマンってやつ手を上げてる男の子のやつシャンってやつ使う どういう使い方するのそれここの方がいいと思います
-
なるほど提案みたいなそれはちょっと柔らかくなりますねそうそうそうそうあとどんな種類のコメントなのかっていうのを分かるようにする意図を分かりやすくするためにPrefix使っててコメントの中によく使うのは細かいミス例えば変数名のタイプとかあと会議用がコーディングルールと違った時とかはちょっとちっちゃいやつなんでNITS
-
ニッツニッチピックスみたいなのが出てるんだけど細かい指摘ですよみたいな細かい指摘ですいませんみたいなやつ入れて意図わからないときは本格的にわからないときはカイチと同じように対面でやるんですけどコメントでなんとかなりそうだなってやつはアスクってつけて
-
コメント残して別に今回修正いらないけどこうしたらもっといいんじゃないかってやつはFor Your Informationの略でFYIって書いて送って絶対直してほしいやつはMustって書く
-
へー、プレフィックスいいなぁなるほど褒めるやつなんて書くんですか?それもう何もない本当に褒め言葉書くいいねとかじゃないですか?いいねとかないあれだけプレフィックスないですよiineとかじゃないですか?ないなそういうのあれつけた方がいいかなつけた方が面白いですよそうだねその辺は確かにつけてなかったでもいいなプレフィックスなるほどこういうのあるんだめっちゃいいねみたいな電球マークみたいな
-
絵文字いいなぁおもろい絵文字使うかな絵文字あのキャラクター立ちます僕も多分できたらそうすると文章多少冷たくてもちょっと柔らかく見えるんじゃないかっていうので冷たい文章の方が早く書けるじゃないですか早いそれをなんかうまく絵文字で中和するみたいなことやってるんですけど中和しきれてない感はあるそうなんだもう少し
-
優しく言ってもいいんじゃないかなって毎回思いながら面倒くせえなって思って書いちゃうそれは気持ちがかかるですねあとは結構あるじゃん細かいところまでどこまで指摘するかのさじ加減あーむずいあるあれとかは場合にもよるかななんか昔は結構しっかりやってたけど最近はなんか後で直しちゃいいんじゃないかって思ってるめっちゃ思います僕も結構毎回って思っちゃうことありますうん
-
なんかあんまり割れ窓理論割れ窓理論ってねコーディング規約ぐらい一緒みたいな時はあるって感じかなコメントの仕方はいすいませんあの
-
求めて申し訳ないんですが中継エンジニア2人の話を聞いてどう思いました?いやまずはそのブランチをプルしてこようって思いましたそれは絶対やるわそれは絶対やるわ操作確認やした方がいいですよねプルして確認するわ確かにそれもまず絶対やろうと思いましたこのレビュー基本される側ですからねまだでも確かにその
-
なんだろう言い方とかって今後やっていく上でめっちゃ大事ですよね絵文字使おうと思いました絵文字ねいいですよいいなと思った絵文字いいですよあれ多分こういうのとかよく使う絶対に言って音声で伝える確かにこのプレイプレイですか両手合わせ祈るはいはいはい
-
こういうね使っていきたいなと思いましたね 使っていきましょうじゃあ最後に答え合わせていきますはいお願いします あーそっか忘れてたあの聞いたねコードレビューで嫌われる人の特徴7選っていう記事があって嫌われる人のやつか 嫌われる人の特徴7選すごいタイトルなんですけどえーとこれねあのコードレビューを受ける人編と行う人編っていうのがありました両面
-
受ける人編から行くのが、ぜひ順平が大事なこれはこういう風にやんないよって話ですね受ける人編1人格攻撃されていると思い込むこれは何言われても何でこれやったんだって言われてるかもしれないですけどそれはあくまで行動を悪く言ってるだけという
-
アドバイスをもらってるんやでとなるほど大丈夫みんなあなたのことが好きです安心してコードレビューを受けてくださいねって書いてます優しい本当にそう思ってるから微妙ですけどね中にはそうじゃない人もいるかもしれないから2ダメ出しを受けて落ち込むこれかつての僕ですねそうだねそれは確かに言ってる側も申し訳なくなるからやめた方がいいと思うズブタックいきましょうと最初だしできてなくても当たり前だよ
-
そうですよね当たり前ですよねできてなくて開き直るのもほどほどがいいけど切れるぐらいの方がいいんじゃない?できてなくて当たり前だろ!やっかいすぎる!ちょっとある程度ずぶとくいきましょう改善することは改善してねというのが以上コードレビューを受ける人編ですこれは少ないんだ行う人編1
-
人格攻撃をする。 まあ逆。これはね、そりゃそうだ。でもこれは言わないと誤解されちゃうんで伝えた方がややこしいです。チームのルールとかワーキングアグレミットとかで合意してればいいと思うんですけどね。なるほどね。君はめっちゃいい人だけどコードはクソだねってコメントをするってことだね。そうだね。ギリギリ人格コードを言ってないね。うーん。はい、次。誤解を与えかねない文体口調で説明する。
-
これやるな誰がどう見てもそうとしか捉えられないことを書けってこと?そうですねそういうことです本当にできればポジティブな文体口調でコードレビューを進めていきましょうってことですねありえないとかいつもこうやって書きやがってみたいなことを言うなとそういうこと言ってねどうだよってなっちゃうしねそんな人を言うなとはい次なぜ直すべきか説明しないそれはめっちゃ大事だわこれ言い間違えしましたね完全に僕言ってたわ
-
ここは言ってないけどやってますやってますよねここはこうこうこうなのでこうした方がいいですとちゃんと言いましょうと書いてますねなるほどダメなのはこれができてないですよっていうコメントじゃあどうしたらいいのっていうのを本当はだってコメント出すってことは見えてるわけですよある程度解決策が確かにでもやってないってことは見えてないわけですよ解決策がじゃあ助けてあげましょうよって
-
そうであとなぜを書くとまあ文字数長くなるんでめんどくさいと思うんですけど 相手がなぜを知ったら次やってこないからやっといたがいいと思う先をそう次直して欲しい箇所を口頭の日で伝える あーエビです残さないマンってことはい
-
これはの言った言ってない問題が発生しますとしまうねーねどっちかが忘れたら終わるんで これねたら忘れるんで人間確かにうんどうしておきましょうはい最後 なんかかぶってなどう直せばいいのかしますないちょっとなぜに近いちょっとなぜに近いん様でも理由じゃなくてまあそうですね多い方向に変えていけばいいかとそうですねはい こういうことを気をつけましょうねーっていうのを書いてました
-
はい優しい世界だ優しい世界ですこのレビューをそんなにいっぱいすることないんですよ多分プログラマー以外の人ってすごいプログラミング回ってレビューする機会めっちゃ多いんですよね確かにある種レビューの達人なんですよ達人になっていくんですよマジで編集者かプログラマーだけじゃない?そうっすね編集者も多いか1コミットと1記事どっちが多いんですかねいや
-
まあ1コミットじゃないからワンプッシュワンプッシュと1記事いや記事じゃない?さすがに記事の方が多いかじゃあ編集者の次にレビューのプロですそうですレビューは何かね何でも使えるスキルなんで気持ちよくレビューできるようになっていきましょう確かにとりあえずズブトクいきますズブトクねそうだね一日のうちはそうだねじゅんぺい一当たりいいから
-
たぶんいいですね後輩に対してめちゃめちゃ当たり強いかもしれないいいですね先輩に優しい分後輩にめっちゃ厳しく行くタイプがあるしすげー嫌なやつめちゃくちゃ嫌なやつすっごいやつだね一番嫌われるやつでも後輩にも優しくできたら行きますはい、やっておいてもいいと思いますはい、というわけで今日はコードレビューで嫌われないためにっていう話でしただっけ?うん嫌われないためにだねはいはい
-
皆さん気持ちよくコードレビューしていきましょうバイバイバイバイ
#027 嫌われないコードレビューをしよう!