はじめに
こんにちは、都内でソフトウェアエンジニアとして働いている藤澤です。最近はフロントエンドの開発を担当しており、TypeScript、Reactあたりをよく触っています。
今回は「Git中級者への第1歩」と題しまして「普段の業務では困らないくらいにGitを使えているけど、もっと便利にGitを使いたい」という方向けの記事を3回にわたって書いていきます。
本連載は「Women Developers Summit 2023」にて筆者が発表した「Git中級者への第1歩」のセッションの内容を記事にしたものです。セッション時の内容に加えてより詳しい説明やセッションに盛り込めなかったことも含めた記事にしていきたいと思っています。第1回ではコミット、第2回ではブランチ戦略、第3回ではGitの学び方、をメインに紹介します。
なお、今回の連載ではGitの操作についてCUIでの操作を前提として記載しております。筆者が普段CUIを利用しており、説明しやすさの都合からCUIでの説明となっておりますが、GUIでの操作がよくない、と言うことではありません。CUIでもGUIでも使いやすい方を利用すると良いと思います。
対象読者
-
Gitコマンドの
add
、commit
、push
、pull
などは問題なく使える方 - Gitをより便利に使いたい、もう一段レベルアップしたいと思っている方
- Gitの学び方について知りたい方
Gitの中級者への1歩を踏み出してできること──2つの品質の相乗効果とは?
そもそもGitを便利に使えるとなにが嬉しいのでしょうか。必要最低限ではだめなのでしょうか。まずはこの点について考えていきます。
もちろん必要最低限使えるという状態でだめということはありません。日々の開発を遂行するのに困らないだけの知識があれば開発を進めることができます。ただしそこでさらに、Gitを便利に使える=Gitを使いこなせることで、システムの品質向上につながると筆者は考えます。システムの品質と一口に言ってもいろいろな分類ができます。今回は「ユーザーにとっての品質」と「プロセスの品質」の大きく2つに分けて考えます。
ユーザーにとっての品質
ユーザーがプロダクトを利用する際に直面する、プロダクト自体の品質を指します。プロダクトの品質が高い=良いシステム、良いアプリ、と表現できると思います。具体的にはユーザーがシステムを使ってやりたいことができる、バグがない、パフォーマンスに問題がない、などプロダクトそのものの品質を指しています。
プロセスの品質
2つ目は開発プロセスの品質です。プロセスの品質が高い=より良いプロダクトをユーザーに滞りなく届けることができる、と表現できると思います。具体的にはリリース対象の機能をリリースできる、バグを素早く発見できる、障害が発生した際にも迅速に対応できる、などプロダクトの開発中からユーザーの元に届くまでのプロセスの品質を指しています。
一般的に「プロセスの品質」の良さは、「ユーザーにとっての品質」の良さに繋がりやすいと言われています。良い成果物を作るためにはプロセスが重要だということです。また、特定の箇所にこだわるだけではなく、全体的に品質を上げていくことも大事だと考えます。良いアプリを作ってもリリースされなければ使ってもらうことはできませんし、ユーザーに届くアプリがバグだらけでもユーザーに使ってもらうことはできません。
エンジニアがGitを使いこなせるようになることで、プロダクトとプロセスの品質が向上し、具体的には以下のようなメリットがあります。
- コミットを工夫することでレビューの品質向上、時間短縮につながる
- プロダクトにあったブランチ戦略を立てることで、より効率的にリリースできる
この連載の中で、それぞれを実現するための方法について詳しく紹介します。