読者です 読者をやめる 読者になる 読者になる

構成管理ツールを使うなら、コミットメッセージは英語で「も」書こう!!

この記事はMercurial Advent Calendar 2011の6日目の記事です。『入門mercurial』の著者にしてMercurial界隈で活躍されている藤原(@)さんの次の回を担当することになりまして、どんなことを書こうか悩んでおります。というのも私、実はMercurialどころかバージョン管理システムを本格的に使い出してまだ一ヶ月しか経っていないからです。

そんな私のため、今までAdvent Calendarを執筆されてきた方ほど突っ込んだ内容、特にMercurialに特化した内容は書けませんが、「これからMercurialとかの構成管理ツールを使ってみたいなあ」と思っている初心者の方に向けて、同じく初心者の私からのささやかなアドバイスを送りたいと思います。

私が今回のAdvent Calendarで言いたいことはタイトルの通りただ一つ、「コミットメッセージは英語で『も』書こう」ということです。

何故「コミットメッセージは英語で『も』書こう」というのか、その理由は以下の通りです。

  • 英語で書かれていれば読まれる確率は高くなる
  • 「外国語」という制約を利用して、プログラムの説明を行う

以下、少し説明します。

英語で書かれていれば読まれる確率は高くなる

いいか悪いかは別にして、プログラミングの世界では英語が標準言語と言ってもいい位置にあります。コミットメッセージが日本語で書かれているのと英語で書かれているのでは、どちらがより世界中のプログラマに読まれるか?という視点で考えると、多少労力を使っても英語で書いた方が後々プラスに働くのではないかと思います。

「英語」という制約で説明すると、よりプログラムの構造を意識する

この記事を読んでいる方の大半は日本語が母語だと思います。母語が日本語の人にとって英語は外国語です。ということは満足に使える言い回しや語彙は母語である日本語より圧倒的に少なくなります。その少ない語彙や言い回しの範囲内で自分のプログラムをコミットメッセージで説明しようとすると、自然と「プログラムのどの部分をメッセージに残すか」という本質の部分に焦点を当てざるを得なくなるため、あれもこれも説明せずに本質のみをメッセージに残す強制力が働き、他の人にも分かりやすくメッセージが残せるのでは無いかと考えます。

「英語でどうやって書いたらいいか分からない」という人のためのチート方法

こういうのはその道のプロに聞いてみるのが早いということで、githubやBitbucketでフォローしている人がどう書いているのかを見て勉強するという方法があります。ソースコードを読んで勉強するみたいな感じですね。

もう一つは、iTunes StoreAndroid Marketなどに登録されているアプリの英語説明文を参考にするという方法もあります。例えば以下のように「バージョン○○の新機能」という所を見て、コミットメッセージに使えるものを普段から意識して拾っていく、というやり方があります。

App_Explanation

要するに、「活用できるものは何でも使っていけ」ということですね。

まとめ(かもしれない)

コミットメッセージを英語で書く理由を少し書いてみましたが、実はこの記事で大切なことがもう一つあって、それはタイトルの中にもあるように、「コミットメッセージは英語で『も』書こう」という、『も』の部分です。

コミットメッセージを英語で書くのは全世界のプログラマに読まれるようにするというのが理由の一つでしたが、それ以前に自国の*1プログラマにも読まれるようにするにはやはり母語でメッセージがあった方がフレンドリーと言えるでしょう。そうでなければ「日本語のドキュメントがないとドキュメントを読む気がしない」という話は出てこないのですから。

無理をしない範囲で「コミットメッセージを英語でも書く」ということを是非実践して欲しいと思います。

*1:という言葉が正確なのかは分かりませんが。