Qiita で コミットメッセージに 「プレフィックス」 をつける というアイディアが紹介されていて、その効用の一つとして挙げられている:
プレフィックスを意識しながら順序立てて機能を作成する癖が身につく
という点が、試験運用していて実際に魅力的だと感じた。
関連して、どうやら テキストエディター Atom のリポジトリーではコミットメッセージに絵文字をつけるようにしている らしい。
しかし GitHub のコロン記法 (:sparkles:
みたいなの) はターミナル上では絵文字として表示されないし、そもそも特定のサービスに不必要に依存したくない。では utf-8 の絵文字そのものではどうかというと、フォントによっては表示されなかったり、 utf-8 に依存するのが気になる。ターミナル上では色がつかない (※フォントによる) ので視認性もいまいちだ。
入力が面倒だという問題は、コミットフックでコロン記法 (:sparkles:
みたいなの) から絵文字に自動で変換するという案もある (※試していない)。
また、単純に ASCII 文字を使うという手もある。 + Add new feature
とか - Remove a file
みたいな感じだ。 +
と -
ぐらいならいいが、それ以外はかなり涙ぐましい状態になる。
以下の観点について比較してみよう。
- 楽さ。プレフィックスをつけてコミットメッセージを書くのに手間がかからないほうがよい。
- 明確さ。表記と意味の関係が自然であるほど覚えやすく、曖昧性が低い。初めて見た人にでも意味が分かるとなおよい。
- 視認性。プレフィックスの意味を把握している人にとって、パット見て分かりやすいか。
- 依存関係。寿命のなさそうな技術に依存するのはマイナス。
種類 | 楽さ | 明確さ | 視認性 | 依存関係 |
---|---|---|---|---|
英語 | ○ | ○ | △ | ○ |
絵文字 | × | △ | ○ | △ |
コロン記法 | △ | △ | ○ | × |
ASCII | ○ | × | △ | ○ |
依存関係の評価に関して念のためにいうと、 GitHub や utf-8 に限界を感じているわけではなくて、10年後ぐらいにひょっこり消えてる可能性がないこともないぐらいの意味。
そういうわけで feat:
とかを使っていくことにする。
関連リンク
- numanomanu (2018) 「【今日からできる】コミットメッセージに 「プレフィックス」 をつけるだけで、開発効率が上がった話」 https://qiita.com/numanomanu/items/45dd285b286a1f7280ed (2018/01/28 アクセス.)
- jz5 (2015) 「GitHub で絵文字入りコミットメッセージを活用しているプロジェクトを調べてみた」 http://pronama.azurewebsites.net/2015/06/20/github-emoji-commit-message/ (2018/01/28 アクセス.)
- atom/atom の CONTRIBUTING.md で絵文字について書かれている部分 (2018/01/30 アクセス.)