プルリクエストの掟と葛藤

コードはmasterブランチだけで管理しよう( ^∀^) 海紫です

先日プルリクエストが雑になりイエローカードが出てしまったため、自戒の念を込めてプルリクエストを作成するに当たる掟や注意点と雑になってしまう原因をまとめて行きたいと思います。

プルリクエストとは・・・https://ics.media/entry/14449/

掟と注意点

コード編

1、プルリクエストは、変更点やコードが多くなればなるほどレビューする時大変になってしまう。

そのため、1プルリクエスト、1機能にする。クラスや関数を作る際に単一責任の原則があるようにプルリクエストも同様にすることでそのブランチでは何をしているかを明確にする。

2、コメントアウトや無駄なスペースはコミットする前に確認してなるべく無くすようにする。これも、レビュー者が見た時に邪魔にならないようにすることやそのコードをマージして、次の人が見た時に困惑しないようにしっかり消すことが大切。

3、ライブラリのインストールなどはそれで一つのプルリクエストを作成する。複数人で開発している時に、誰かがエラーが起きた際にそのライブラリが起因かを確認しやすくするため。

作成編(プルリクエストを作成する時のタイトルや本文)

タイトル・・・変更や追加、作成などそのプルリクエストで何をしたのかを端的に書く。プルリクエストを作成するときは、issueと関連付いてる事が多いと思いますが、タイトルからどのissueのプルリクエストかを判断出来たら尚良し。

本文・・・issue、実装、レイアウトの見出しを作る。この限りではなく、質問、疑問、コメントなど。

関連するissueを紐付ける。

実装内容を機能毎にまとめて書く。

レイアウトはBeforeとAfterを比較して載せると良い。

雑になる理由

コード編

・自分が開発している機能とは別に他のページの不具合を見つけた時にちょっと直したくなる。

その微修正にブランチ切るのも。。って思ってしまったり、そのタイミングを逃してしまうと忘れてしまったり。

・別のブランチで作業している時にあるプルリクエストのレビューやマージが遅く、そのプルリクエストにある機能を使いたいって事例が多く発生してくると、切らないで進めようってマインドになってしまう。

作成編(プルリクエストを作成する時のタイトルや本文)

・画像を表示するのが大変。githubの場合、単純に画像をアップロードした際に画像サイズが大きいため小さくする必要がありその処理がまあまあ時間がかかる。

・機能以外の別のページの不具合などを直していると、自分でも変更点をまとめるのが大変になる。

解決策

・ちょっとした不具合修正はプロジェクトの中でルールを決めて、直す時にブランチを切るルールだったらしっかり切るようにする。

・全体で使う機能やライブラリは初めのうちに用意しておく。そうすることで他のブランチで作成した機能を使いたいってことは多少は防げる。

・レビューを早くしてもらう()

・プルリクエスト作成時は、テンプレートを作ることでめんどくさい作業を無くす。

テンプレート作成手順

1、フォルダ名 .github 作成

2、ファイル名 PULLREQUESTTEMPLATE.md (拡張子はなんでもいい)を作成

3、下記をコピペ

 ### issue
 close #
 
 ### 実装
 
 
 ### レイアウト
 <div style="display: flex">
 <img src="" width="240px">
 <img src="" width="240px">
 </div>
 

まとめ

自分のプルリクエストを客観的に見てレビュー者に伝わるか一度確認しよう!!

テンプレートを活用して開発にかける時間を確保しよう(°▽°)