『伝わるコードレビュー 開発チームの生産性を高める「上手な伝え方」の教科書』を読んで
転職活動も終わって有給消化期間になったので、今まで気になっていたけど読めていなかった本を読みました。今回読んだのは『伝わるコードレビュー 開発チームの生産性を高める「上手な伝え方」の教科書』という本です。
この本、題材がコードレビューだけど、本質的には「上手な伝え方の教科書」という感じでした。仕事では Slack とかでテキストベースのコミュニケーションを取ることが必ずあるけど、その際にどうすればお互いが気持ち良くコミュニケーションを取れるかということを教えてくれています。
まず、この本を読んだ率直な感想としては、自分はこれまで一緒に働く人に恵まれてきたし、そんな環境の中で自分もこの本でNGパターンとして挙げられているようなコミュニケーションを取らないように自然と成長してこれたことに本当に感謝だなという感じです。
この本の構成として、項目単位で「NGパターン → 改善例」という流れで色々なパターンを紹介してくれているわけですが、例えば「長文より箇条書きで書いたほうが読み手には伝わりやすいケースがある」という情報の整理の仕方みたいな観点もあれば、「こう書いてしまうと相手に威圧的に受け取られてしまう」という威圧的で接しにくい人と思われないようにみたいな観点もあるんですよね。
自分的に後者の例ってその人が持つ性格的なもののウェイトが結構大きいと思っていて、それって周りが色々言っても直すのが難しくて、当事者がこういう本を読んで気付くことで自発的に直してくれることを祈らないといけない部分もあると思うので、そういう人と自分は接する機会がなく(第三者ポジジョンで遭遇することはあったけど)、ちゃんとお互いに気を遣いながらコミュニケーションできる人がいる中で、自分もそこに追いつけ追い越せで生きてこれたのは良かったです。
というわけで、自分はこの本を「そうだよね。こういうコミュニケーションはいけないよね。書かれていることはしっかり意識できてるからこれからもそれをしっかり続けられるようにしよう」って感じで読んでました。
なんか味気ない感想文になってしまったので、「伝わるコードレビュー」という観点について、本の中では「PR」にテンプレートを作るということが紹介されていました。いわゆるpull_request_template.mdで用意するやつですね。たしかにこれでPRに記載すべき項目をチーム内で統一するのは大事です。
ただ、その項目の中身の書き方については各人で個性が出るところではないでしょうか?
なので最後に自分が実践している方法を1つ紹介したいと思います!
長い情報や補足情報は details タグでアコーディオンにする
これです。AI 時代になってレビューに疲れることも多くなってきたと思います。その中で PR の説明が長文だとそもそも読むのが疲れるし、読み手に何が本当に必要な情報なのか伝わりにくいというデメリットがあります。
なので自分は、クエリの実行計画や API をクラスごとに PR を分割する場合の API 全体の設計図みたいなやつは details タグでアコーディオン UI にして隠すことで、 PR の概要と詳細を読み手が意識することなくレイアウトによって自然と識別できるような作りになるように意識しています。
また、details タグに限らず、PR の Markdown は HTML タグを使えるので読み手に伝わりやすいようなレイアウトにすることが可能です。table タグで表を書くと ul, li タグで表の中に箇条書きができるのでそれもよく使います。
フロントエンドが好きなので「見る人にとって分かりやすいか」という観点はこういうところでも気になっちゃうんですよねー。
というわけで、これからも相手を思いやったコミュニケーションができるように気を付けていきたいですね。