わかりやすいプルリクを目指して
みなさんGithub使ってますか?
Githubのプルリクエスト(略してプルリク)、使ってますか?
使ってても結局セルフマージしちゃったり、プルリク内でやってることが最終的にとっちらかったりしてないですか?
大体の人が自分なりのプルリクルールを持ってたり、プロジェクトでルール決めてたりすると思うのですが、
私が使ってきてこれは良かったと思うプルリクルールについて、共有していきたいと思います。
そもそもプルリクって?
ここがわかりやすくまとまっています。
簡単に言えば、
複数人で開発してるときに、実装したブランチの作業をチームメンバーに共有し、レビューしあい、事故なくわかりやすく変更をマージしていくための機能
です。
わかりやすいプルリクの条件
1にも2にも、「レビューしやすいこと」だと思います。
そもそもプルリクは、自分がやった作業内容を、他のメンバーや後から確認したときにわかりやすくするためのもの。
様々なルールは、全てレビューのしやすさに繋がります。
そんな中で、これは共通でどんなプロジェクトでも使えるはず、と思えるルールを以下にまとめます。
-
1プルリクに1機能
- 複数の機能をプルリクに入れてしまうと、変更点が何に対するものなのか分かりにくくなるため、プルリク1つには1機能のみ入れるべきです。
-
1コミットに1作業
- プルリク内のコミットも、できれば細かく分けたほうが良いです。特にリファクタリングと実装は別コミットにしたほうが分かりやすいです。
-
プルリクの概要には、目的と実装した機能内容を必ず記載
- 例えば、目的:どこどこのバグ修正、実装内容:なになにクラス内がこうなってたのがダメだったのでこうした、など。
-
LabelsやMilestoneを使って後からソートしやすいようにする
- 新しいバージョンにどの機能を入れたのか、Milestoneさえキチンと設定しておけば絞り込みソートで簡単に機能一覧を探せます。
プラスあるふぁ
他に積極的に使っていきたいなと思うのは、スクショやアニメーションGifを使って実装内容を説明することです。
実装内容が目に見える機能の時のみ使える手ですが、文字をみるより圧倒的に分かりやすいです。
私はMacなので、動画を撮りたい時は GIPHY Capture を使ってます。
とても簡単にキャプチャーができるので重宝します。
実装中の機能がアニメーションとか新しいUIとか、そういうものだった場合、エンジニア以外にも共有しやすくてオススメです。
レビューについて
このポストは「レビューのしやすいプルリク」を目指してますが、レビューはレビューで「プロジェクトの雰囲気を明るくするレビュー」とか「喧嘩しないレビュー」とかあったりします。
[IMO]とかの略語を使って受け取られかたをマイルドにしてみたり、
LGTMや
の絵文字などを使ってお互いに褒めてみたり、
かわいいイラストやおもしろ画像を引用してきてちょっとふざけたLGTMで楽しくプルリクを盛り上げたり
少し工夫するだけで、毎日のコーディング作業が楽しくなり、チームの一体感も増します。
レビューの心得はそれだけで本1冊になったりするのでここでは詳しく書きませんが、プルリクをわかりやすくしたあとは、分かりやすいプルリク内容をさっと確認して楽しくレビューしていきたいですね。