エンジニアの暗黙知を形式知に
お仕事でコードを書いている人は、日々gitにコミットしたり、プルリクエストを作成したりしていると思います。
ただ、「どんなコミットが良くて、どんなコミットが悪いのか」とか、「どんなプルリクエストが良くて、どんなプルリクエストが悪いのか」といった話をわざわざ教えてもらった人はそんなに多くないのではないでしょうか?
せいぜい、先輩プログラマから「このコミットの仕方はイマイチだからこうしようね」とか「プルリクエストにはしっかりdescriptionを書いてください」といった指摘をもらい、「なるほど、そういうもんなのか〜」と徐々に正しいやり方を学んでいく、みたいなケースが多いのでは?と想像しています。
ゆえに、「良いコミット、悪いコミット」や「良いプルリクエスト、悪いプルリクエスト」に関する知識や考え方は暗黙知になりがちです。
そんな暗黙知をここでひとつ形式知として明文化しようじゃないか、ということで執筆したのが上記の記事になります。
「わからない。俺たちはいつも雰囲気でコミット&プルリクエストしている」という自覚がある若手エンジニアのみなさんに読んでいただくのはもちろん、若手エンジニアを指導する技術リーダーのみなさんも新人教育の参考資料として本記事を活用してもらえると嬉しいです!
執筆裏話:最大公約数を大きくするのに苦労しました💦
「良いコミット、悪いコミット」「良いプルリクエスト、悪いプルリクエスト」とひとことに言っても、IT業界に唯一の正解があるわけではありません。
組織やチームの開発スタイルや文化によって良い・悪いの判断基準は異なると思います。
そのため、僕が「これが良い」と思って書いた内容も、読む人によっては「そんなやり方じゃダメだ!」と考えるかもしれません。
ダメ出しコメントがたくさん飛んでくると辛いので(辛いし、汎用性が低いと参考資料としての価値が下がる)、最大公約数をなるべく大きくするように気を遣いながら書いたのが苦労した点です。
反響を見ていると、今のところダメ出しコメントはあまり見かけないので、良かった良かった、と胸をなで下ろしています😅
まとめ:本記事を叩き台にしてみんなで議論してみよう
というわけで、今回はレバテックラボさんのサイトに寄稿した「良いコミット、悪いコミット」と「良いプルリクエスト、悪いプルリクエスト」に関する記事を紹介してみました。
前述の通り、良い・悪いの判断基準は組織やチームによって異なるので、みなさんの現場で僕が書いた記事の内容を全部採用できるとは限りません。
とはいえ、チーム内で良いコミットとは何か、良いプルリクエストとは何かを考えるための良い叩き台にはなるんじゃないかなと思っています。
たとえば、本記事をチームメンバーで一緒に眺めつつ「これは記事の通りだよね」とか「この部分はうちのチームだとこうやるかなあ」といった具合に、みんなでワイワイガヤガヤとコミットやプルリクについて議論してみるのはいかがでしょうか?
本記事がみなさんのチームのコミットやプルリクエストに対する意識や方向性を揃える一助になれば幸いです!😄