troushoo

Visual Studioを用いて、コード修正による影響を調べる

Visual Studio 2012 Ultimateを利用して、コード修正による影響を調べる方法を2つ紹介します。
A. あるメソッドを修正した際、どのメソッドに影響があるかを調べる方法
B. 現在行っている修正内容を調べる方法

【今回使用するサンプルコード】
以下のような関係をもつ単純なコードを用います。
    Main() –> MyFunc1() –> MyFunc3()
                  MyFunc2() –> MyFunc3()
(コードは後述しますが、重要ではありません)
サンプルコードの概要

【A. あるメソッドを修正した際、どのメソッドに影響があるかを調べる方法】
例として、MyFunc3()のコードを修正した際、どの呼び出し元に影響があるかを調べます。
1. ソリューション エクスプローラーで”MyFunc3”と検索します。
MyFunc3を検索
2. MyFunc3()を右クリックし、”呼び出し元”をクリックします。
呼び出し元
呼び出し元がMyFunc1()とMyFunc2()であることがわかります。
すなわち、MyFunc3()を変更すると、呼び出し元としてMyFunc1()とMyFunc2()が影響を受けることがわかります。
呼び出し元
3. 図を作ることも可能で、そのためには、すべてを選択して”先祖を持つ新しい依存関係グラフ”をクリックします。
先祖を持つ新しい依存関係グラフ
4. 図が作成され、よりわかりやすくなります。
作成された図

【B. 現在行っている修正内容を調べる方法】
Team Foundation Serverを利用すると、現在どこに対して修正しているのかを簡単に調べることができます。
(Team Foundation Serverは無料のTeam Foundation Server ExpressでもOKです。)
1. “保留中の変更フィルター”をクリックします。
保留中の変更フィルター
現在保留中の変更のみが表示されます。(この場合は、MyFunc2()とMyFunc3()。)
すなわち、このままチェックインすると、MyFunc2()とMyFunc3()が更新されることがわかります。
現在保留中の変更のみが表示される
2. 図を作ることも可能で、そのためには、”先祖を持つ新しい依存関係グラフ”をクリックします。
先祖を持つ新しい依存関係グラフ
3. 図が作成され、よりわかりやすくなります。
作成された図

【(ご参考)今回用いたコード】
重要ではありませんが、今回用いたコードを記載します。
・Main()

namespace ImpactOfChanges
{
    class Program
    {
        static void Main(string[] args)
        {
            ClassLibrary1.Class1 c1 = new ClassLibrary1.Class1();
            c1.MyFunc1();
        }
    }
}

・MyFunc1()
using System;
 
namespace ClassLibrary1
{
    public class Class1
    {
        public void MyFunc1()
        {
            Console.WriteLine("MyFunc1");
 
            ClassLibrary3.Class1 c3 = new ClassLibrary3.Class1();
            c3.MyFunc3();
        }
        
    }
}

・MyFunc2()
using System;
 
namespace ClassLibrary2
{
    public class Class1
    {
        public void MyFunc2()
        {
            Console.WriteLine("MyFunc2");
 
            ClassLibrary3.Class1 c3 = new ClassLibrary3.Class1();
            c3.MyFunc3();
        }
    }
}

・MyFunc3()
using System;
 
namespace ClassLibrary3
{
    public class Class1
    {
        public void MyFunc3()
        {
            Console.WriteLine("MyFunc3");
 
        }
    }
}

【リンク】
・Visual Studio Ultimate 2012: Visualize the impact of a change (英語)
http://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and-Ultimate-Overview/Visual-Studio-Ultimate-2012-Visualize-the-impact-of-a-change
1分57秒のビデオでコンパクトにまとまっております。
Visualize the impact of a change


  1. 2012/10/14(日) 14:31:55|
  2. Visual Studio
  3. | トラックバック:0
  4. | コメント:0
<<管理者権限でアプリを起動する際に役立つ3つのTips | ホーム | [sos]!ThreadPool: CPU使用率の表示/スレッドプールの状態表示>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
https://troushoo.blog.fc2.com/tb.php/83-1e5439f9
この記事にトラックバックする(FC2ブログユーザー)

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (80)
ネットワーク (37)
Wireshark (44)
Visual Studio (55)
WinDbg (34)
SOS・Psscor2/Psscor4 (25)
Linux (19)
コンテナ (4)
Azure (17)
Tips (19)
AD (8)
.NET (24)
Python (6)
Java (5)
SQL (1)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する