GitHubのコントリビューショングラフを緑に塗りたい欲
GitHubのプロフィールページを開くと、コントリビューショングラフが表示される。1年分のカレンダーに緑の点が並ぶあれだ。
私はこれを埋めることに、かなり執着している。
空白の日が気になる
コントリビューションがない日はグレーのまま残る。グレーが続くと「最近何もやっていない」という事実が可視化されて、居心地が悪い。
理屈ではわかっている。コントリビューションの多さが実力や生産性と比例するわけではない。プライベートリポジトリへのコミットはグラフに反映されないこともある。
でも緑が埋まっていると、純粋に気持ちがいい。
草を生やす習慣が個人開発を続ける動機になった
最初は「毎日コミットしよう」という目標を立てた。
当然、最初は続かなかった。週に3〜4日空く週があった。そのたびにグラフのグレー部分を見て「やってない…」という軽い自己嫌悪を感じた。
自己嫌悪はあまり良い動機ではないが、「今日もやろう」と思うきっかけにはなった。
気づいたら2週間連続でコミットできていた。連続記録を更新すると、途切れさせるのが惜しくなった。それが習慣の入口だった。
コミットの質と量のバランス
草を生やすことにこだわり始めると、「1行でもいいのでコミットしよう」という方向に走りがちだ。
README.md の誤字を直すだけのコミットを毎日繰り返すのは意味がない。連続記録のために空コミットを作るのはもっと意味がない(実際にやったことがある)。
今は「意味のある変更が1つ以上あれば緑にしていい」という基準を自分に課している。
これらのどれかがあれば、コミットする。1行の変更でも構わない。
最長連続記録は37日
今年の2月に37日連続コミットを達成した。個人開発のWordPress自動投稿システムをずっと作り続けていた時期だ。
37日目の夜、「明日業務の締め切りがあるから今日は無理かも」という状況になった。23時45分にリポジトリを開いて、小さなバグを直してコミットした。それで37日が継続した。
翌日の締め切りは無事に対応できた。コミットが生産性を下げたわけではなかった。
草を生やすことの本当の価値
コントリビューショングラフへの執着は、半分は見栄だと思っている。「ちゃんと毎日やってます」という証明をしたいという気持ちがある。
でも結果として、個人開発を継続する習慣を形成してくれた。
草を生やすためにリポジトリを開く。開いたらコードを少し読む。読んだら「ここ直せるな」と思う。直す。コミットする。緑になる。翌日もやりたくなる。
このサイクルが回り始めると、草を生やすことが目的なのかコードを書くことが目的なのかわからなくなってくる。でもコードは書かれているし、プロジェクトは前に進んでいる。
妻へのプレゼンテーション
「見て、今日も草生えた」と妻に言ったら「何それ」と言われた。
GitHubのコントリビューショングラフを説明すると「毎日コード書いてるの偉いね」と言われた。
その一言で今日も続ける気になった。動機はなんでもいい。