こんにちは、mzpです。
今日はMisocaのesaに書いていた「よいコミットメッセージ・よくないコミットメッセージ」という記事を紹介したいと思います。
あらすじ
開発チームでは「コミットメッセージには変更理由を書いて欲しい」「コミットメッセージはWhatよりもWhyが大事」という話を何度かしているのですが、なかなか徹底できていません。
ので、もう少し具体的に「こういうコミットメッセージはよくないですね」というまとめを作ってみることにしました。
ちなみにこの過程でみつけたコミットメッセージに、こんなものがあります。 一切情報がなくておもしろいですね。
ファイル移動を移動した事実しか書かない
これは以下のようなコミットメッセージです。
- ファイル名を変更
- ディレクトリを移動
ファイルを移動したことはコミットメッセージを見なくてもdiffから分かりますが、なぜその移動をしたかが分かりません。 ので、移動した理由を残すようにするとよいです。
「指摘対応」としか書かない。
これは以下のようなコミットメッセージです。冒頭にあげたコミットメッセージもこれですね。
- レビュー対応
- 指摘対応
- Rubocop対応
なぜその変更をしたかが後から見たときに分かりません。 指摘があった場合はその内容を残すとよいです。(参考: 自分の言葉で書かれたコミットメッセージが好き - 準二級.jp)
- 一行が長すぎるので修正
- Style/IndentHash による自動修正
- メソッドが長すぎるので修正
Array#map
を使ってリファクタリング
「修正した」としか書かない
これは以下のようなコミットメッセージです。
- specを修正
- CI対応
繰り返しになりますが、なぜその修正をしたかがあとから分かりません。 CIやspecで確認していることをコミットメッセージに残すとよいです。
- xがnilのケースを想定していなかったので修正
- specが意図したものになっていなかったので修正
- CIでの実施内容が間違っていたので修正
コミットメッセージに理由を書こう
Misocaではコミットメッセージに理由を書くエンジニアを募集しています。