見出し画像

今日からできるコミットログの整理方法!【プレフィックス】

はじめに

どーも、はるねこ(@hal_neko)です。
今回はコミットプレフィックスのお話。

このあたりの記事を見て
自分もコミットログにプレフィックスをつけてみよう!
と思いました、すぐできる事ですしね。

やってみて感じた効果

少し前からプレフィックスをつけるようにしてみたのですが
個人的に感じた効果としては

1.単純にフォーマットが統一されていてログが見やすい。
2.ログ検索時に、目的のログにすばやく辿り着ける。
3.コミット内容をプレフィックス単位で分ける事でスッキリ。

といった所。

レビュアーを意識するコミット

特に3つ目がいい効果かなと思いました。

1つのコミットに
「機能修正」「不要コードの削除」「リファクタリング」
といったものが混在していては、レビューする際に
どれがどれなのかわかりづらいです。

1.「不要コードを削除」して
2.「リファクタリング」を行った上で
3.「機能修正」をコミットする

と分けた方が確認する側は楽ちんです。
(コード削除もリファクタリングのうちかと思いますが、プレフィックス的に分けています)

今回の話には関係ないですが「リファクタリング」で、いい感じのサイトがあったので自分用にメモ


自分もレビュアー

そして 「確認する側」 というのは、未来の自分も含まれます。
コミット前に確認する自分自身は、いわば最初のレビュアーだと思っています。

確認時、冷静に客観的になって
「ここ、もうちょっとこうした方が良くないか?」
という視点を持つようにしています。
改めて全体を俯瞰してみると、気づける事もあったりしますので。

このように、レビューする開発体制ではなかったとしても
「意識づけ」する事は大事だと思います。

自分流プレフィックス

色々な記事を参考に、少し実践してみて、一旦、以下な感じに落ち着いています

実践してみて変更した点

▼comment プレフィックス

一番最初は、コメントだけを編集した時(追記、削除、コメントアウト)
のプレフィックスなんかも使ってみていたのですが
今の所、他のプレフィックス+ログコメントで事足りるかな
と廃止しています。

うーん、そんな利用頻度高くないし
あえて分ける事で、ログ検索にひっかからなくする事もできると思うので
使ってもいいかなぁ、と思ってもいますが、現状ふわっとしてます。

▼adjust プレフィックス

これは最初は無くて、後で自分独自に定義したプレフィックスです。

ゲームプログラムやアプリ開発の場合
パラメータだけを調整する事は往々にしてあります。
そういった際に利用するためのプレフィックスです。


バグに繋がるコミット

こんな感じで、プレフィックスを分ける事で
今、コミットしようとしている内容がどれくらいバグに繋がるのか
意識する事へも繋がると思うのです。

  • add / update

    • やはり、機能追加や修正など
      「新たな要素」 というのは = 「バグの種」 と
      捉える事ができると思いますので、バグに繋がる可能性は大かと

  • bugfix

    • バグ修正というものは、えてして
      エンバグの可能性がつきものなので……😅

    • 皆さん、絶対に1回や2回はあるはずです(え、ない?)

  • clean

    • リファクタリングも
      どういった変更を行うか、どれくらいの規模で行うのかによって
      バグを仕込んでしまう可能性はそこそこあるかな。と
      (リファクタリングしたらうまく動かなくなる事って時々あるのでw)

  • adjust

    • パラメータ由来でのバグってあまり無い気がしますが
      めちゃくちゃなパラメータが入っていたらバグになってしまいますので無きにしもあらずかな(めちゃくちゃなパラメータを設定できないようにする方が大事だし、警告やアサートは仕込むべきかと思いますが)

  • delete

    • 利用されなくなるので、基本、バグには繋がらないと思いますが
      誤って、削除してはいけない部分を削除してしまう可能性から 「小」 でしょうか。
      まぁ、でもそれってバグっていうか、ビルドエラーとかになってくれると思いますが。

おわりに

といった所で、今回は
コミットログにプレフィックスをつけて
コミットごとに意味づけをしたりしてわかりやすくしよう
といったお話しでした。

もしサポート頂けたら いつか個人開発をする時に使わせて頂きます!