コードレビューって...怖いんだって😢
いつものようにTwitterを徘徊していると、Ruby
のチェリー本などで有名な伊藤淳一さんがこんなツイートをされていました。
「なぜここで1を加算してるんでしょうか?」
— Junichi Ito (伊藤淳一) (@jnchito) 2021年8月4日
とか、
「シャドーイングってご存じですか?」
みたいなコードレビューコメントって、純粋な質問であっても受け取り方によっては詰問してるように聞こえたり、嫌味を言ってるように聞こえたりするので、テキストコミュニケーションって難しい。
コードレビューに関するツイートで、「テキストだと何を考えての指摘なのか、どういう理由でそう思ったのかが伝わらない、伝えられない」という事があるから大変だよねという意図のツイートだと受け取りました。これはおっしゃる通りで、中々、テキストだけだと自分の意図が伝えるのが難しいですし、思った事を全てテキストにしていては時間がいくらあっても足りません。
自分もコードレビューをする立場となりまして、この悩みは毎日感じてします。
その解決策の1つとして自分はコードレビューをする時は可能な限り、強い言葉、冷たい言葉だと相手に誤解を与えないように絵文字を添えるようにしています。絵文字を添える事でなんとなく雰囲気が明るくなるのです。ひと昔の情報の教科書にはWEBでコミュニケーションをする時は顔文字を入れようと記述されてしましたが、それはあながち間違いではありませんでした。
絵文字とコミュニケーションをテーマにした論文もいくつか出ているようです。
世間一般のコードレビューのイメージ
いつものようにラッコキーワード(旧:関連キーワード取得ツール(仮名・β版))を使って、「コードレビュー」という単語とよく組み合わせて検索されている言葉を調べてみると以下のようになりました。
- コードレビュー やり方
- コードレビュー 観点
- コードレビュー 怖い
- コードレビュー 偉そう
- コードレビュー 嫌い
- コードレビュー 傷つく
- コードレビュー うざい
などなど...
想像以上に多くの人がコードレビューに対してネガティブなイメージを持っているのだということが分かりました。元々、口調が強かったり圧の強い人の可能性もあるでしょうが、先ほど紹介したテキストだと思っていることが正確に伝わらないという問題も絡んでいそうですね🤔
普段自分が使ってる絵文字を紹介するぜ😎
自分のコードレビューを受けてもらっている人に少しでも楽しい雰囲気を伝えるために、絵文字を使うようにしていると先ほど紹介しました。ある日、ふと自分がどんなコードレビュー中にどんな絵文字をよく使っているのかなぁ...と気になりました。
自分がgithub
でPullRequest
に対してコードレビューを行った際にしたコメントを全取得して、よく使っている絵文字を集計してみました。
集計方法
github
のAPIを使って特定のレポジトリのPullRequest
に対して投稿されたレビュー(コメント)を全件取得します。そこから自分がレビューした内容でかつ、絵文字が含まれているレビューのみを抽出します。残ったレビューの中から、それぞれの絵文字をカウントし、登場回数が多い順にソートして集計を完了します。
集計に用いたレポジトリは以下になります。一度しか使わないであろう書き殴りのコードです。
補足として、github
のAPIは1回のリクエストにデータの取得件数にリミットがかかっており100件までしか取得する事が出来ません。なので、全データの取得が完了するまでページネーションを用いて再帰的にデータを取得し、.txt
に内容を書き出しました。
合わせてデータの集計には手軽さを求めてpython
とjupyter notebook
を使用しました。
対象のエンドポイント GET: /repos/{owner}/{repo}/pulls/comments
集計結果🏅
対象となったレビュー件数は全部で517件で絵文字が含まれていたレビュー件数は180件でした。まずは上位5件の絵文字を発表していきます。
(なぜか♂という記号が結果に含まれていましたが、おそらく「🙇♂️ = 🙇♂」が原因だと思われます)
- 1位: 🤔 -> 登場回数: 80
- 2位: 🙇♂️ -> 登場回数: 51
- 3位: 👍 -> 登場回数: 14
- 4位: 👀 -> 登場回数: 12
- 5位: 💪 -> 登場回数: 4
1位の「🤔」は予想通りでした。自分はよく相手に疑問を投げかける時にこの絵文字を使うようにしています。相手に「マウントを取りたいわけじゃないよ!」「何を考えてそうしたのか教えてほしい!」という思いを込めています。
2位の「🙇♂️」はタイポや軽微な修正をお願いする時にそっと添えるようにしている絵文字です。小さな修正でも指摘されて、修正しておいてねと一方的に言われると当人にとっては結構なストレスだったりします。別の作業に取り掛かっていた場合などは特にそうですね。忙しい中、悪いけど、お願いします!という思いを込めています。
残りの絵文字は「ナイス!いい感じだね!」というハッピーでポジティブな思いを伝える時に使用している絵文字ですね。季節や流行りによって使う絵文字が変わるので、集計してみると色々な絵文字が出てきました。
👵🍨🌸🤚🎉🕺🌮🍧🍏🧹🐝😂
🕺
(なんだこれ...)
総括🤓
こういった絵文字を使うことで暗くなりがちなコードレビューを少しでも楽しい雰囲気になればと思っています。
ただ、一番大事なのは絵文字でもなく、コードレビューをする側も、される側もお互いにリスペクトを持つということです。やってもらえるのが当たり前ではありません。その上でテキストでのコミュニケーションに気をつける事が出来れば、なお良しですね。
では、楽しいコードレビューを🙇♂️