ちなみに

火曜日の空は僕を押しつぶした。

コミュニケーションとしてのプルリクエストレビュー

現代においてはソフトウェアの開発はチーム開発となることが多い。 つまりコミュニケーションが大切になる。 ソフトウェアエンジニアの各人はコミュニケーションについても意識的に気を付けていたり、場合によってはそれについて学んでいたりする人もいると思う。

しかしながらプルリクエストでのやり取りにおいては端的で目的だけを優先したコミュニケーションをする人が多い気がする。 たしかに間違っているところや、読みにくいところを修正して、バグの発生防いだり、メンテナンス性の確保、ひいては将来的に開発速度を保つための手段なのでそれでも間違っていないのかもしれない。

具体的にはレビュワーとしてはたんたんと指摘だけをしたり、問題なかったら無言で Approve だけしたり。 レビューとしても何の説明もなくコードだけぶん投げたり、コメントに特に返信せずに修正だけを入れる、そして無言でマージしたり。

ソフトウェアの健全性は保たれるので合理的なのかもしれない。 けどチームの健全性は保たれるのだろうか。 保たれる場合もありそう。それはチームの特性によるのでなんとも言えない。 すくなくとも自分なら怖くて泣いちゃう。

いっけん無駄のように思われるかもしれないけど、ちょっとだけコミュニケーションを意識出来ると良いのになと思ったりします。 言葉遣いを普段のコミュニケーションと同じようにしたり、コードの良いところとか興味があるところに雑談でコメントしてみたり。 アプルーブやマージのときに無言をやめてみるとか。

実のところは害もあると思っている。 例えばコメントに返信せずに修正するケース。 レビュイーは本当にレビュワーの意図を理解出来ているだろうか。 その修正方針はレビュワーの想定とあっているだろうか。 ふつうに仕事の進め方としてすり合わせてからやった方が手戻りが少なくて有益だと僕は思うのです。 ちょっとだけ時間を使って、こういう風に直しますねとか書くだけでだいぶ時間の節約になるんじゃないかと。

別の話題としてプルリクエストのコメント数は少ない方がいいという向きがある。 これは書いたコードの対して指摘だけが入るという前提を置いている気がしていて、たしかにそれだとコメントは少ない方がよい。 しかし、コミュニケーションの場なのだとする僕の立場からすると、コメントは多ければ多い方がいい。 チームがコードについて共同所有の意識を持てている、言い換えると興味を持てているということでもあって、そしてコミュニケーションは活発な方がチーム開発にとっては断然良い。

自分が常に意識出来ているかというとそうでもないのだけれど、プルリクエストでのやり取りもコミュニケーションの一環なんだという意識を持てると気持ちよくチーム開発が出来るのではないかなと思います。