連載
|
|
■1. はじめに
前回の記事では、オープンソースでのバージョン管理の一例として、Subversion/TortoiseSVN/AnkhSVNの紹介と簡単な利用方法について説明した*1。
*1 前回の記事が執筆〜公開されている間に、Subversionの最新バージョン1.5.0が公開されている。これからSubversionを試す方は、下記の最新バージョン(2008年7月23日時点)で試してみるとよいだろう。 ・Subversion 1.5.0 ・TortoiseSVN 1.5.0 ・AnkhSVN 2.0.4757 |
さて、では、前回の記事で紹介したようにSubversionを利用するだけで「イケテル.NET開発」になるのだろうか? まずは前回も登場した中村君、玉田君のSubversionを利用した開発シーンの続きを見てみることにしよう。
まだまだイケテナイ開発シーン: |
バージョン管理を利用せずに開発することに懲りた中村君、玉田君は、その後社内でSubversionを導入することを推し進め、社内の開発標準フレームワークの開発・運用を任されるまでに成長していた。 中村君「ほんとSubversionって便利だよな。いま思うとバージョン管理なしでどうやって開発してたんだろうな?」 玉田君「そうですよね。バージョン管理していれば、たとえ操作に慣れてない新人にソース・ファイルを間違って消されたとしても簡単に元に戻せますしね。」 中村君「なんで新人って必要なものをよく消しちゃうんだろうな。……あれ? 開発標準フレームワークの最新コードってビルドできなくない?」 玉田君「ホントだ、こっちのマシンでもビルド通りませんね。」 中村君「誰だよ、最後にコミットしたやつは……。あ、新人の長友君じゃん。」 玉田君「あいつ、また書きかけのコードをコミットしたんじゃないっすか? そういえば今日から夏休みでしたね、長友君。休み前で浮かれてたんでしょうね。」 中村君「夏休み? しょうがないなぁー、取りあえず前のバージョンに戻すか……。」 岡田課長「中村、玉田。開発標準フレームワークを使ってる第三開発事業部のプロジェクトからバグ報告が上がってきたぞ。」 中村君「え? バグ報告ですか。どれどれ……あ、これは先週修正したばかりのバグですね。」 玉田君「そのプロジェクトってどのバージョンの開発標準フレームワークを使ってるんでしたっけ?」 中村君「1.0.3みたいだね。だいぶ古いの使ってるなぁ。」 玉田君「1.0.3だとリリース以降に修正したバグはほかにもありましたよね。」 岡田課長「どうでもいいが、先方はリリース前で急いでるらしいぞ。明日までに修正パッチを渡しとけよ。」 中村君「明日までですか? 明日はテスト駆動開発のトレーニングを受ける予定なんですよね。玉田君、ほかに必要なパッチのリストアップと第三開発事業部に渡すパッチの準備をお願いできる?」 玉田君「パッチのリストアップってどうやってやるんですか? それに私は明日から夏休みの予定なのですが……。」 中村君「まじで? ど、ど、どうしよう……。」 |
ここで例に挙げた開発シーンでの問題点としては、下記の2つを挙げることができる。
- リポジトリにビルドが通らないコードがチェックインされている
- バグ修正が行われることを想定したリポジトリ設計になっていない
バージョン管理ソフトウェアを導入したのになぜ上記のような問題が生まれるのだろうか? これはSubversionに限った問題ではない。Subversionはあくまでツール(道具)である。ツールを導入するだけですべてが丸く収まるということはない。根本の原因は、ツールを有効活用するためのガイドラインが抜け落ちている点にある。
個人だけでSubversionを利用する場合は除いて、特に全社的にSubversionを利用する場合は、ガイドラインを定めることで、円滑なバージョン管理の運用を行えるようになる。つまり、バージョン管理ソフトウェアの導入に当たってはツールの使い方だけでなく、バージョン管理ソフトウェアを正しく利用するためのガイドラインについても学習する必要があるのだ。
今回の記事では、特にSubversionを対象として、バージョン管理ソフトウェアを正しく運用するために必要となる「リポジトリ利用ガイドライン」の策定について説明していく。
■2. リポジトリ利用ガイドラインの策定
リポジトリ利用ガイドラインとは、バージョン管理ソフトウェアを効果的かつ円滑に運用するために必要な考え方、設計、ルールのことである。紙面の都合もあるので、ここでは細かなルールまでは解説しないが、少なくとも下記の2点については利用ガイドラインの中で方針や設計を定め、リポジトリの利用者に対して公開する必要がある。
- リポジトリ内は常にクリーンな状態に保つ
- ソース・コードの運用・保守まで考慮したリポジトリ構造を設計する
これらについてそれぞれ解説していこう。
INDEX | ||
[連載]オープンソースで始めるバージョン管理&タスク管理 | ||
第2回 正しいバージョン管理でさらにイケてる.NET開発 | ||
1.Subversion利用でもまだまだイケテナイ開発シーン | ||
2.リポジトリ利用ガイドラインの策定 | ||
3.リポジトリ利用ガイドラインでイケテル開発シーン | ||
「オープンソースで始めるバージョン管理&タスク管理」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|