検索
ニュース

改めて考える、「Gitのコミットメッセージを能動態や命令調で書く意味」命令調のGitコミットメッセージの問題点とは

TechTargetは「Gitコミットメッセージの能動態または命令調の書き方」に関する記事を公開した。「開発者はGitのコミットメッセージを命令形で書くべきだ」という意見があるが、本当にそうだろうか。言語的背景やオープンソースプロジェクトでの採用傾向などを踏まえて著者が問題提起する。

Share
Tweet
LINE
Hatena

 TechTargetは2024年10月2日(米国時間)、「Gitコミットメッセージの能動態または命令調の書き方」に関する記事を公開した。

画像
能動態または命令調のGitコミットメッセージ(提供:TechTarget)

命令調のコミットメッセージの書き方

 専門家の見解では「開発者はGitコミットメッセージを命令調で書くべきだ」という。能動態とは何か、命令調で話すとはどういうことかを長々と議論することも可能だが、次の文章につながる表現を考えれば自然と命令調のメッセージは書ける。

「このGitコミットメッセージを適用する場合は……」(If applied this Git commit message will...)

命令調の例

 ここで簡単なクイズだ。次の3つのGitコミットメッセージの中で、命令調で書かれているのはどれか。

  1. 「バッファーオーバーフローの問題を修正した」(Fixed the buffer overflow issue)
  2. 「バッファーオーバーフローの問題を修正する」(Fixing the buffer overflow issue)
  3. 「バッファーオーバーフローの問題を修正せよ」(Fix the buffer overflow issue)

 3番目のメッセージを選んだのなら、命令調はもうマスターしていると言っていいだろう。これで、命令調のGitコミットメッセージの書き方は理解できたはずだ。

画像
Googleが開発したJavaScriptフレームワーク「Angular」のプロジェクトに関わる開発者たちは、Gitコミットメッセージで命令形を使うことを意識しているようだ

Gitコミットメッセージは過去形で書くべきか?

 ただし、著者としては「能動態で命令調のGitコミットメッセージを書きなさい」という指示は、全くのナンセンスだと考えている。その理由とは、完了した作業について考えるのに“命令形”は自然な方法ではないからだ。コミットメッセージは、コードの作成後に書くもので作成前に書くものではない。個人的には、実行した内容を説明するのであれば、過去形を使う方が理にかなっていると考える。

 オープンソースプロジェクトのコミットメッセージを見てみても、命令調のメッセージはあまり目につかない。著者が尊敬する、最も革新的な製品に取り組むオープンソースプロジェクトのソフトウェア開発者たちも、Gitコミットメッセージを命令形にするという要件を守ることに特にこだわっていない。それでも成功している彼らの実例を見れば、このルールに縛られる理由はないと感じる。

 また、「命令調にせよ」という指示は英語圏でよく見られる。これは英語が比較的命令形を多用する言語だからだ。だが、全ての国の言語が英語の構文になっているわけではない。そのため、英語の構文を全ての開発者に押し付けることは個人的には正しいとは思えない。

画像
これは良いコミットメッセージか、それとも悪いメッセージか

Gitコミットメッセージの標準

 著者が好きな格言に「正しい答えなどなく、あるのは間違った答えだけだ。間違っていなければそれでよい」というものがある。

 Gitコミットメッセージの標準やベストプラクティスは確かに存在するが、チームごとに従うべき正しいガイドラインや表記法は異なる。チームが、Gitコミットメッセージは能動態または命令調でなければならないと決めているなら、従わなければならない。それに違反することは「間違っている」ことを意味するので、避けるべきだ。

 一方、チームが命令調を指示していないなら、Gitコミットメッセージは、それを適用した場合に「何が起こるか」ではなく「何をしたか」を説明すべきだ。命令調のGitコミットメッセージは、Gitリポジトリ内のコミットを精査するのを困難にする。バグを追跡したり、致命的なエラーの原因を見つけたりする際には、コミットを見つけやすくするのが最優先となる。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る