書籍『C#実践開発手法』
某イベントで先行販売されたようなので、すでに入手し読み始めている方も多いかと思います。
【総合1位】『C#実践開発手法』http://t.co/J5sFbsQa6g 2日間不動の第1位!#decode15 #CS実践開発手法 #C井実践開発手法
— 日経BP_MSブックス (@NikkeiBP_MSbook) 2015, 5月 28
この書籍は、「理論と実践のギャップを橋渡しする」がテーマです。したがって、書籍だけでなく、本書に出てくるデザインパターンや、SOLID原則に基づくコーディングのコードのサンプルは、すべて GitHub で公開されています。第3章は、そのまま「デザインパターンとSOLID原則によるアジャイルなコーディング」を地で行く、サンプルプロジェクトになっていて、スクラムでプロジェクト運営しながら、コードを積み上げていくことで、価値を積み上げるということを体感できるようになっています。
本書の中でも、GitHub からコードを取得する方法について述べられていますが、そこでも「いちおし!」としてフィーチャーして紹介されている Atlassian SourceTree でのコードの取得方法をここで紹介しておきましょう。

SourceTree
SourceTree は、Atlassian が無料で提供している DVCS (分散バージョン管理システム) のクライアントツールです。Mac OS X 版と、Windows 版を提供しています。
SourceTree の利点は、何といっても、Git や Mercurial のコマンドを知らなくても GUI ベースで操作ができることです。また、プルリクエストなど、GitHub や Bitbucket, Stash の操作を呼び出すこともできますし、JIRA などの Issue Tracking System (ITS) の Issue ID を識別し、リンクを自動で実現してくれたりします。
SourceTree でのコードサンプルの入手
ここでは、Windows 版での操作を紹介します(Visual Studio で操作したい人が多いと思いますので)。
コードサンプルを入手するには、SourceTree から書籍で紹介されている URL にアクセスすればいいです。
書籍に記載されている URL にアクセスしたうえで、右側にある URL をコピーします。
※「HTTPS clone URL」にあるアイコンをクリックすることで URL をコピーできます。
表示されたダイアログボックスにて、「元のパス/URL」に、コピーした URL をペーストします。
次に、「保存先のパス」に、自分のPCのローカルリポジトリを配置したいフォルダーを指定します。
基本的にはこれで OK です。自分の GitHub アカウントと紐づけたい場合は、GitHub の設定から行ってください。
[クローン] ボタンをクリックしたら、指定した保存先パスにローカルリポジトリが複製されます。翻訳版でも触れていますが、元々は、Git ブランチで各サンプルコードを分けて提供されていましたが、現在は、フォルダーを分けて提供しているシンプルな構成になっていますので、master ブランチだけにアクセスすれば最新のコードサンプルをすべて取得できるようになっています。
さて、Windows エクスプローラーでコードサンプルにアクセスするには、保存先パスにアクセスすればいいだけですが、SourceTree から一発でエクスプローラーで開くことができます。
主な方法は、二つです。一つ目は、ブックマークから開く方法です。
「エクスプローラで表示」(※エクスプローラーにしてほしいゾ!)で開くことができます。
もう一つの方法は、「ファイルステータス」の「作業コピー」をクリックする方法です。
クリックすると [エクスプローラで開く] ボタンがありますので、こちらをクリックするとエクスプローラーが開きます。
後は、フォルダーごとにコードサンプルがありますので、それぞれのソリューションファイルをダブルクリックするなり、Visual Studio から開くなりするだけです。
クローンするということは、自分のローカルリポジトリで変更した場合は、それをプルリクエストすることができることにもなります。「ちょっと怖いわー」という方は、フォークするとか、コードをダウンロードするとかしてみてください (本書籍に記載の通り、オリジナルのリモートリポジトリは読み取り専用となりますので、怖くはないです。何か修正箇所を見つけたらぜひプルリクしてみましょう)。
コードのダウンロードは、本書籍用の GitHub にアクセスして、右側にある [Download ZIP] ボタンをクリックすることで ZIP 圧縮されたファイル一式を入手できます。