チェックインに条件をつけよう!
他の人がチェックインしたコードを見たとき、「規約をちゃんと守って!」「バグだらけのコードをチェックインしないで!」「このコードってどの部分を実装してるんだっけ?」などと思うことありませんか。
TFSではこんな悩みをサポートする、チェックインポリシー機能が用意されています。チェックインポリシーとは条件を満たさないコードをチェックインさせない機能で、TFSの標準機能では以下の3つの条件を設定することができます。
- コード分析必須(VSTSの静的コード分析をクリアすることが必須)
- 単体テスト必須(VSTSの単体テストを成功させることが必須)
- 作業項目との関連付け必須(TFSの作業項目との関連付けが必須)
「標準機能では」としたのは、このチェックインポリシーは独自に作成して、自由に追加していくことができるからです。カスタムチェックインポリシーを作成する方法は本稿では割愛しますが、あまり簡単ではありません。コミュニティーベースでは、例えばCodePlexのTFS Code Comment Checking Policy(CCCP)のように、いくつか公開されているものがあります。興味がある場合には一度これらを参考にしてみてください。
では、チェックインポリシーを早速設定してみましょう。
- [チームエクスプローラー]のチームプロジェクトを右クリックし、[チームプロジェクトの設定]-[ソース管理]を選択。
- ソース管理の設定画面で、[チェックインポリシー]タブ内の[追加]を選択。
- 「コード分析」「テストポリシー」「作業項目」のうち、追加したいチェックインポリシーを選択(図8)。

これで悩みが減ると考えられます。しかし、「コード分析を必須にしたら、テストコードまで規約通りに書かないといけないの? それはちょっと……」と思うこともあるでしょう。実はチェックインポリシーを無視することもできてします。無視するためにはどうしてポリシーに従っていないのかの理由を記述しなければなりませんが、うまく切り分けて使ってください。
なお、チェックインポリシーを利用してコード分析を実行するには、クライアント端末にVSTD(Visual Studio 2005 Team Edition for Software Developers)が、テストポリシーを実行する場合には、VSTT(Visual Studio 2005 Team Edition for Software Testers)がインストールされている必要があります。
作業報告とコードを関連付けよう!
「チェックインに条件をつけよう!」で、「作業項目との関連付け」という条件がありましたが、TFSで言う作業項目とは簡単にいうと作業予定や作業報告、進捗状況を入力しておくものです。担当者や進捗、履歴などを保存しておくことができます。チェックインを行う際に、このコードはこの作業項目の内容なんだよ、と印をつけておくことで、他者から見ても作業の進捗を把握しやすくなります。では早速使ってみましょう。
- 作業項目を作成する。
- 「ソリューションエクスプローラー」で、黄色の「+」が付いているファイルを選択して「チェックイン」。
- チェックイン画面で[作業項目]を押下。
- 関係のある作業項目にチェックをつけて「チェックイン」。
これで作業項目に関連付けが行われました。いつ、どのコードと関連付けられたかは作業項目の「履歴」から参照することができます。チームプロジェクトを作成した際に「MSF for Agile Software Development - v4.0 - JPN」を選択していると思いますが、これを利用してチームプロジェクトを作成した場合には、デフォルトでいくつかの作業項目が生成されています。今回は練習ですので標準で作成されている作業項目に関連付けを行ってみてください。作業項目って何? についてはまた回を改めて紹介する予定です。

