かくあるべしコードレビュー
さまざまな現場で時にプログラマーとして、時にリードエンジニアとして働いてきた自分ですが。
意外とコードレビューの正しいやり方というものを知らない人が多いなぁと思っています。
ということで、今回はコードレビューの正しいやり方、および正しい受け方について書いていこうと思います。
元々自分はコードレビューがあまり得意ではなくて、行う側、受ける側ともにあまり良い姿勢ではありませんでした。
自身『このままじゃ良くない』と思いつつも、どういう姿勢でコードレビューに取り組むべきなのかよくわからない状態でした。
そんな中「人間らしくコードレビューするには」というネットの翻訳記事を見つけました。
過去にも紹介した記事ですが、まだ見たことない方がおられましたら、ぜひぜひ読んでみてください。
(ちなみに翻訳版の方は画像のリンクが切れているため、元の記事も目を通すことをオススメします)
この翻訳記事を読んで目からウロコが落ちるとはまさにこのこと。
なるほど、コードレビューとはこのようにしてやるんだなと、強く反省したとともに、そこから自分のコードレビューに対する姿勢はガラッと変わりました。
と、ここで終わると単なる翻訳記事紹介となってしまうのですが。
この翻訳記事に出会って数年経った今、それでもなおコードレビューとは難しいものだなと日々感じています。
上記の記事に書かれている内容は確かに理想的であるべき姿だと思いますし、自分も可能な限りこのようなコードレビューを行いたいし受けたいと思っています。
ただコードレビューの 1 番難しいところは、行う場合も受ける場合も相手が存在するというところに尽きると思っていまして。
いくら自分が記事から学んだ姿勢で挑んだとしても、相手の姿勢がそうでなければ効果的なコードレビューは行えるはずがないのです。
とくに若いうちや精神的に幼いうちは、まともなコードレビューを行うことなど不可能です。
また著しく技術力に劣っていたり、自身の意見を正しいと信じ込んでいる人とのコードレビューは、時としてレビュー前よりも品質が落ちることも起きえます。
コードレビューとは互いを高め合う場であると思いますが、それは互いの人間性や技術力がある程度保たれている場合に過ぎないわけで。
上記の記事の内容は、言ってしまえば多くの場合綺麗事に過ぎないよなぁと、正直なところ思っています。
とはいえそれでも記事から学べることはたくさんあります。
日本の現場ではどこも穏便かつ無難なコミュニケーションが重要視されていますので、コードレビューでもその空気感を保つよう努力することが大切だなぁと、しみじみ感じます。
仮に自分がコードレビューを行う立場であったとして、上がってきたコードが間違っていたとしても、相手によってはそれを指摘しないことも時としては求められると思います。
逆に自分がコードレビューを受ける立場であったとして、受けた指摘がまったく的はずれであったとしても、相手によってはその指示に従うことも重要なのかなと。
憤りや正義感の気持ちは押さえて、自分の中で正しいコードというものを理解できていれば、それで十分なときも多いと思います。
ということで、自分なりのコードレビューに対する考えでした。
フロントエンド初心者向けの Slack のワークスペースですが、まだまだ参加募集中です。
ある程度の人数が参加されたら一度募集を閉じる予定ですので、ご注意ください。
以下のような方には向いていると思います。
- TypeScript を用いた React の書き方を知りたい人
- Atomic Design について学びたい人
- React を使って自分のサイトを作りたい人
- なんとなく最近のフロントの流行を知りたい人
- 自ら質問できる人
- 河村のコーディングを見たい人
もう少し人が増えたらライブコーディングとかもやりたいなーと思っています。
入りたい人はこちらからよろしくお願いします。