よいコミットメッセージとはどういうものだろう?
tl;dr
なぜ「私たちは」これをしたのか?の理由を書こう
コミットメッセージといえば t_wada さんのツイートがよく引用されている
コードには How
— Takuto Wada (@t_wada) September 5, 2017
テストコードには What
コミットログには Why
コードコメントには Why not
を書こうという話をした
自分もこの考えに賛同してるので、コミットメッセージにはWhyを書くし書いて欲しいと思う。
では「Whyを書く」とはどういうことだろう?
「レビューで指摘された内容を反映した」
みたいなコミットメッセージを何度か見て頭をかかえたことがある。
「なぜこのコードを書いた」の理由ではあるので日本語としては間違っていないコミットメッセージではあるのだが、決してこの内容は欲しい情報ではない。
これならレビューで指摘された内容をコピペしてもらったほうがありがたく思う。
Whyを書いているのに何が食い違っているのだろう?
自分は主語の問題かな?と考えている。
「レビューで指摘された内容を反映した」 の主語は「私は」だと思う。
これだとレビュアーに指摘されたからが十分な理由になってしまう。
個人的にはコミットメッセージの主語は「私たちは」のほうがよいと考えている。
ここでいう「私たち」はチームだったり会社だったりコミッターチームだったり。
さきほどの「レビューで指摘された内容を反映した」の主語を私たちにしてみる。
またそもそもレビューもチーム内での話であるということを踏まえてみると以下のような奇妙な文章になる。
「私たちは私たちにレビューで指摘された内容を反映した」
一方レビュアーの指摘をそのまま書いたのは
「私たちはこういう考え(レビューの指摘事項)なので変更を行った」
という文章になるので前者よりもよっぽどいい内容になると思う。