7
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ateam Hikkoshi samurai Inc.× Ateam Connect Inc.Advent Calendar 2021

Day 14

コードレビューの負担を減らすためにマジリク(プルリク)を分割してみた

Last updated at Posted at 2021-12-13

この記事はエイチーム引越し侍/エイチームコネクトの社員による、Ateam Hikkoshi samurai Inc.× Ateam Connect Inc. Advent Calendar 2021 14日目の記事です。

どうも。エイチームコネクトのエンジニア、@mfuzです。今一番欲しいものはエンボディチェアです。

皆さんはコードレビューを投げてもなかなか帰ってこないなと思ったことはないでしょうか。
それはもしかすると、マージリクエスト(プルリクエスト)の内容があまりよろしくなかったのかもしれません。

そこで、コードレビューの負担を減らすためにマジリク(プルリク)を分割してみたので、そのことについて書いていきたいと思います。

Diffがごちゃごちゃしてつらい

施策には複数の機能の組み合わせでなりたっていると思います。
これまでは施策単位でブランチが作られているため、
Diffに複数の機能が散りばめられ、レビューの際に処理を追うのが辛くなっていました。
そこで、いっそブランチを機能別に分けてみようと思いました。

コミットで整理する手もあるかと思いますが、
レビュー後に追加が発生した際に、そこだけが切り離された状態になってしまいます。

機能別にブランチを分けてみる

cherry-pickでもってくる

機能別にファイルが分割されていればこの方法だけでできます。
機能別にブランチを作り、大本の作業をしているブランチからそれぞれでcherry-pickします。
ですが、同一ファイルを編集しているとcherry-pickする際にコンフリクトが発生してしまいます。

共通branchつくる

別々の機能で同じファイルを参照する必要があるビューのファイルや設定ファイルなどは、
それらのファイルのみのブランチなどのわけてあげると良いです。
そのブランチから各機能のブランチをつくるとコンフリクトは発生しづらくなります。

やってみて感じたメリット・デメリット

メリット

極力コンフリクトを避けるような方針で設計をするので、コードとファイルが整理された気がしました。

デメリット

慣れるまで時間がかかります。

さいごに

コードレビューの負担を減らすためにマジリク(プルリク)を分割してみた。いかがでしょうか?
まだまだ試行錯誤中ですので、他に良い案があれば教えていただけるとありがたいです。

明日は@tanimoto-hikariさんが担当します。お楽しみに!

7
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?