プログラマは過去の自分と情報を共有している!【バージョン管理仕事術】
こんにちは、りべカスです。
この記事では、プログラマは過去の自分と情報を共有していることについてお話したいと思います。
それではやっていきましょう。
✔プログラマが実践するデータのバージョン管理とは?
バージョン管理、聞いたことがありますか?
スマホのアプリを想像してみてください。
アプリはバージョンが上がったら、なにか新しい機能が追加したりしますよね。
アプリやソフトウェアのプログラムでは、機能を追加したり、機能を削除したりするとバージョンの番号が上がっていきます。
つまり、なにか変更があったらどんどん新しいバージョンになっていくのです。
では問題です。
リリースした新しいバージョンのアプリに致命的な不具合が報告されたとしたら、どうなるでしょう。
普通は新たに新しいバージョンがリリースされ、不具合が無いバージョンにアップデートされます。
それでは、開発者側から見てみましょう。
不具合があったらまず何をするか?
1 不具合の確認
2 何が不具合を起こしているかを推測する
3 実際に不具合を起こしているコード部分の捜索
4 修正
となります。
しかし、手元に不具合のあるバージョンしか無かったとします。
前回のバージョンとの比較、検証ができないため、不具合の捜索にかなり時間がかかってしまいます。
不具合が新しく追加した機能だったらいいですが、全く関係のない部分が不具合を起こしていたらどうでしょう。
残業に残業を重ねて、徹夜コースなのです・・・
そんなことが無いようにソフトウェアやアプリでは「バージョン管理」というものをしています。
✔バージョン管理の詳細
Ver 1.1 : 前回のバージョン
Ver 1.2 : 今回新しくリリースしたバージョン
バージョンごとにファイルを保存、管理しておくことで、不具合の修正などが簡単にできます。
しかし、プログラムの世界ではもっと細かくバージョン管理します。
開発のしていく上で、
・ボタンの追加
・通信経路の確保
・デザインの色を変更
・リロード画面を追加
このような「工程ごと」に管理し、その都度保存します。
このようにすることによって、もっと細かいバグ修正や、検索ができるようになります。
要は、バージョン管理とはバックアップみたいなものです。
しかし、バックアップとは異なるということを覚えておいてください。
【バックアップの場合】
・今の状態
・バックアップしたときの状態
の2パターンを保存することが一般的
【バージョン管理の場合】
・今の状態
・過去1の状態
・過去2の状態・・・
何個も保存しておけます。
好きなタイミングで保存したものが、全て保存されるので、下書きからやり直せたり、
デザインだけ違うものを作ってパターンAとパターンBのものを作ったりできます。
つまり、バックアップをもっと細かく区切っているものがバージョン管理ですね。
✔バージョン管理はプログラムだけではない!
PowerPointや論文、フォトショップのデータ、どんなデータでもバージョン管理できます。
よく聞く話が、
・大学の卒業論文が消えてしまった。
・USBメモリが壊れてデータが無くなった。
・パソコン自体が壊れて全てのデータが消えた。
です。
しかし、バージョン管理では基本的にはクラウドサーバを使って行うことがほとんどです。
パソコンが壊れようが、関係ありません。
安心してください。
世界が崩壊しない限り、クラウドに残り続けます。
✔チーム開発でも最強
それぞれ同じデータを編集し、あとで変更した部分を合わせることができます。
もちろんバックアップ目的のバージョン管理もありますが、ほとんどのプログラマはこの共同作業をするために使っていると行っても過言ではありません。
✔結論:重要&チームで編集するデータはバージョン管理しよう
会社で使おうと思えば、情報流出や社則の観点から個人で導入するのは厳しいでしょう。
しかし、これからのデータ管理の観点から言えば当たり前の概念になっていきます。
もし、自由の効く会社であれば導入してみてください。