遠い昔、はるか彼方の銀河系で
ダース・ベイダー:今日は特別にコードレビューの授業を行う。
ストームトルーパー:は、はい、ベイダー卿!いつも通り厳しい指導を期待しています!
ダース・ベイダー:では、始めよう。フォースと共にあらんことを・・・
プルリクエストはデス・スターくらい大きくしよう!
「次はこの完成した宇宙要塞の恐るべき威力をその目でとくと見届けるがいい。」 - ダース・シディアス
細々とした修正は銀河を支配しようという帝国にはふさわしくありません。
いきなり大きなプルリクを投げて銀河を震撼させましょう。
納期ギリギリで巨大なプルリクを投げることでチームに壮大なインパクトを与えることが可能です。チーム一丸となって取り組むことでチームワークの強化につながるでしょう。
さらに一度に全てをレビューすることで何度も会議を開く必要がなくなり全体像も初めから把握することが出来るためレビューの効率化にもなる必須のテクニックです。
「これはダメだ」とだけコメントしよう!
「なすべきことをなせ、ベイダー卿。ためらうでない、情けは無用。」 - ダース・シディアス
コード作成者(トルーパー)は未熟なのであなたがレビューすれば修正するべき箇所はすぐに見つかります。
この時にやってはいけないのが、具体的なフィードバックを残してしまうことです。
どこがどう悪いのか、どう修正するべきかなど手取り足取り教えることはトルーパー達の成長の機会を奪うことになるので御法度です。
ただ一言「これはダメだ」とだけコメントしましょう。
自力で解決方法を見つけられないトルーパーは成長の見込みがないのでケッセルのスパイス鉱山送りにしましょう。
銀河統一のためには厳しい決断も必要なのです。
コーディングスタイルの違いを全てエラーとして扱おう!
「提督、お前は致命的なミスを犯した。」 - ダース・ベイダー
銀河統一を目指すのであれば自分のコードスタイルは貫かなければなりません。
変数の命名、改行の位置が気に入らないなど自分の好みと異なる記述は全て修正を指示しましょう。
その際に「これは読みやすさや効率性に影響しない」だったり「チームのコーディング規約を作ろう」などと言ってくる輩(反乱軍)がいるかもしれませんが断固拒否してください。
コーディング規約ではなく自分に従わせることが最優先です。
重要なのは、多様性の尊重やチームで共に成長する事ではなく銀河全体が自分のスタイルで統一されることなのです。
指摘や反論は絶対に許さない!
「私を疑うのか。信念がなさすぎる。」 - ダース・ベイダー
もはやコードレビュー自体を否定するメソッドですが、会社という組織には上司と部下、先輩後輩など明確な上下関係が存在します。
レビューで反論されるのはあなたが舐められているからです。
こういった事態を防ぐためには日頃のチーム員との関わり方がとても重要になります。
挨拶や雑談などは付け入る隙を与えてしまうので一切行わないようにしましょう。
仕事での会話も最低限に、質問が来た時にはまず舌打ちするのも効果的です。
話しかけやすいな、関係性ができたな、と思わせてしまった時点で負けです。
チームというのはフォースの暗黒面で支配するべきものなのです。
完全なる縦社会、昭和スタイルを貫くことが銀河統一の第一歩です。
完璧なコードを求めて永遠にレビューを続けよう!
「無限のパワーをくらえ!」 - ダース・シディアス
コードの一行ごとに改善点を見つけ、完璧なコードを求めて永遠にレビューを続けましょう。
コード作成者の努力にレビュワーも全力で応える必要があります。
タスクの優先度や、限られた時間の中で良いものを作ろうなどと言う反乱軍の言葉に耳を貸してはなりません。
妥協は悪です。初代デス・スターが換気ダクトの設計ミスを突かれて破壊されてしまったことを忘れてはいけないのです。
あとがき
賢明な読者であれば気付かれたと思いますが、この記事に書かれたことはもちろん全てアンチパターンです。
実際にやってはいけないよということをまとめました。
アイデア先行で書き始めたのですが上手くいったかは自信がありません。
以下に影響を受けた記事を共有いたします。(100倍面白いのでぜひ読んでください)
個人的にはエンジニア一年目に会議室に集まってチームのエンジニア10人くらいの前で行ったコードレビューが人生で一番きつかったです。
実力もないのに生意気だった私は全員からボコボコにされて(されたと感じて)見事半泣きになりました。声を震わせながら、ただただ時間が過ぎることを願っていたのを覚えています。
今思い返すと大したことは言われなかったのかもしれませんが自分が書いたコードに指摘が入ったことで自分が否定された気持ちになっていたのだと思います。
新人の方やレビューで傷ついているという方には、レビューでたくさん指摘をされても決してその人自身を否定しているわけではないということを心に留めていただきたいです。
そしてレビューする側も心理的安全性に配慮して有意義な意見交換の場にしたいですね。
読んでくださりありがとうございました。
フォースと共にあらんことを!