目 次 Visual Studio 2013 による コード 複 製 検 出 を 使 用 した 重 複 コードの 検 出... 1 1. ソリューションのコード クローン 分 析 の 実 行 と コードの 比 較... 4 2. コントローラーとビューへのコード 追 加... 8 3. 重 複 コー



Similar documents
Visual Studio 2013 によるコードマップを使用した 特定のコード内での依存関係の対応付け 2014 Microsoft Corporation. All rights reserved. 1

Microsoft Word - word_05.docx

WebMail ユーザーズガイド

2 Web ページの 文 字 サイズを 変 更 する Microsoft Internet Explorer 8 では 文 字 のサイズを 変 更 して Web ページをより 見 やすくする ことができます 文 字 のサイズを 変 更 する 場 合 は 画 像 やコントロールは 元 のサイズが 維

すでに 登 録 されているユーザーの 情 報 を 変 更 する 場 合 は 該 当 行 を 選 択 して 詳 細 ボタン をクリックするか 行 頭 をダブルクリックして 登 録 画 面 を 開 き 編 集 を 行 う パスワードを 変 更 する 場 合 は パスワードの 変 更 ボタンをクリックして

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

Acrobat早分かりガイド

ことばを覚える

Microsoft Word - 203MSWord2013

WEBメールシステム 操作手順書

2007 Microsoft Corporation. All rights reserved. 本 書 に 記 載 した 情 報 は 本 書 各 項 目 に 関 する 発 行 日 現 在 の Microsoft の 見 解 を 表 明 するものです Microsoft は 絶 えず 変 化 する

Microsoft Word - Start Up Guide1 .docx

<91808DEC837D836A B5F8F488E528A6D E786C7378>

目 次 1.はじめに 1-1. はじめに 2. 操 作 2-1. 概 要 2-2. 操 作 方 法 ( 調 査 依 頼 の 確 認 ) 2-3. 操 作 方 法 ( 回 答 登 録 ) 2-4. 操 作 方 法 (ワークシート 出 力 ) 2-5. 操 作 方 法 (ワークシート 取 込 ) 3.

Microsoft Word - 第3章.doc

ProcessDiagramQRG.book

給料らくだ7.5・かるがるできる給料5.5 追加マニュアル

Microsoft PowerPoint - webサイト更新マニュアル ppt [互換モード]

Microsoft Word - i_navi.txt

管理者ツールマニュアル

untitled

QNAP TurboNAS スナップショット設定手順書

2016 年 度 情 報 リテラシー 変 更 された 状 態 同 様 に 価 格 のセルを 書 式 設 定 する 場 合 は 金 額 のセルをすべて 選 択 し [ 書 式 ]のプルダウンメニューか ら[ 会 計 ]を 選 択 する すると が 追 加 され 金 額 としての 書 式 が 設 定 さ

Excel basics

V-CUBE One

ワープロソフトウェア

名刺作成講習

すべての 文 書 は テンプレートから 作 成 を 開 始 します 空 白 のテンプレートから 開 始 することもできます 完 成 した 文 書 のイメージに 最 も 近 いテンプレートを 見 つけてください Publisher 2013 にはテンプレートが 付 属 しております 1. [ファイル]

Microsoft Word - 操作マニュアル(石油コンビナート_オフラインソフト編)_v0.2.doc

産 前 産 後 休 業 終 了 時 報 酬 月 額 変 更 届. 事 前 準 備. 作 成 画 面 の 起 動 方 法 4. 基 本 データの 登 録 5 4. 届 出 書 の 作 成 7 5. 電 子 申 請 8 6. 申 請 後 のデータ 確 認 方 法 9

TeleOffice 3.0 Lync 2 TO

CSV_Backup_Guide

第1章 情報処理センターの利用

Ⅰ. 各 種 文 書 作 成 メニュー 項 目 説 明 各 種 文 書 作 成 メニューでは 共 通 で 使 える 便 利 な 機 能 がございます テンプレート 機 能 引 用 文 を 貼 り 付 けることができます 複 写 (コピー) 機 能 作 成 した 帳 票 をコピー 編 集 することがで

03_主要処理画面.xlsx

~ 目 次 ~ 1. 履 修 登 録 のながれ 1 2. 利 用 可 能 な 機 能 について 2 3.Web 履 修 登 録 画 面 へのログイン ログアウト 方 法 3 4. 予 備 登 録 ( 定 員 設 定 科 目 の 履 修 ) (1) 予 備 登 録 5 (2) 予 備 登 録 状 況

Microsoft Word - 205MSPowerpoint2010-(rev_b)-小倉更新_END0228_a.docx

もくじ 0.はじめに 1 1. 用 紙 をスキャナで 用 紙 を 読 み 込 む 1 2. 書 式 定 義 マークした 部 分 を 個 々のデータとして 取 り 込 む 場 合 ( 複 数 回 答 対 応 ) マークした 部 分 をグループ 化 して 取 り 込 む 場 合

この 文 章 に 含 まれる 情 報 は 公 表 の 日 付 の 時 点 での Microsoft Corporation の 考 え 方 を 表 しています 市 場 の 変 化 に 応 える 必 要 があるため Microsoft は 記 載 されている 内 容 を 約 束 しているわけではありま

G01 メニュー 画 面 の 説 明 1 前 年 度 のデータ または 会 員 管 理 DBからの 会 員 情 報 データをインポートする [ 前 年 度 一 括 申 告 データインポート] ソフト1の 講 習 会 等 名 簿 ソフトデータにデータ 付 加 するた めに 日 本 医 師 会 より 配

目 次 1 インストール 手 順 プログラム データファイルのインストール Microsoft Access2013Runtime SP1(32bit) 版 のインストール 基 本 操 作 ログイン メニュー...

基本操作マニュアル[既存ページの編集と連載記事の作成・更新]編

目 次 目 次 1 ログイン ログアウト ログインする...1 ログイン 画 面 が 表 示 されないときは?... 1 初 めてログインするときのパスワードは?... 2 初 期 パスワードを 忘 れてしまったときは?... 2 変 更 したパスワードを 忘 れてしまったときは?.

Mac OS Xでの利用設定 マニュアル

問 題 1 次 の 文 章 は 作 業 環 境 について 述 べたものである にあてはまる 適 切 なも のを 解 答 群 { }より 選 び その 記 号 で 答 えよ 設 問 1. < 図 1>はアプリケーションウィンドウの 一 部 である < 図 1>の1の 部 分 を < 図 1> という

問 題 1 次 の 文 章 は Word の 作 業 環 境 および 環 境 の 設 定 変 更 について 述 べたものである にあてはまる 適 切 なものを 解 答 群 { }より 選 び その 記 号 で 答 えよ 設 問 1. は [ウィンドウ]メニューの 表 示 したものである {ア.[ 並

目 次 初 めに Ⅰ. 管 理 者 の 操 作 起 動 管 理 者 情 報 修 正 フォルダの 新 規 作 成 フォルダの 編 集 ファイルアッ

目 次 はじめに.... デジカメからの 画 像 取 込 画 像 情 報 の 登 録 部 位 の 設 定 目 的 の 設 定 目 的 の 追 加 画 像 情 報 の 登 録 ( 備 考 の 設 定 ) 備 考

かんたんQR

<82C582F182B382A2322E3594C5837D836A B2E786C73>

1. 概 要 Webで 申 込 みした 手 続 きの 内 容 とNEXIでの 手 続 状 況 を Web 申 込 状 況 一 覧 で 確 認 することができます また 各 種 手 続 きにおいて 申 込 みを 完 了 せずに 保 存 状 態 にした 手 続 きを この 一 覧 から 再 開 すること

(Microsoft Word - \215u\213`\203m\201[\203g doc)

スライドの 編 集 とリンク スライドのレイアウトやデザインが 決 まったら 文 字 の 編 集 をしたり スライドの 順 序 変 更 やリンク 設 定 をして 見 栄 えの 良 いプレゼンテーションを 作 成 しましょう ファイル MP05 完 成.ppt を 開 き 内 容 を 編 集 していき

手 順 4 BGMを 付 けるには 音 楽 (BGM)を 追 加 するかどうかを 確 認 するダイアログ ボックスが 表 示 されますので 付 けるたい 場 合 は[はい] ボタンをクリックします 付 けない 場 合 は 手 順 7 へ 手 順 5 ファイルの 選 択 [ 音 楽 の 追 加 ] ウ

WCS β版用簡易マニュアル

2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編

ボタンをクリックします ( 警 告 が 表 示 されない 場 合 もあります ) 9 画 面 に Win SFX32M V と 表 示 されますので 保 存 する 箇 所 を 選 択 し OK をクリックしてください 選 択 した 箇 所 にインストールしたフォルダが 保 存 され

_責)Wordトレ2-1章_斉

スライド 1

Windows8. スタート 画 面 とデスクトップ 画 面 の 切 替 方 法 Windows 8. では 種 類 のInternet Explorer( 以 下 IE)が 存 在 します ()スタート 画 面 に 表 示 されているタイルより 起 動 するIE(ストアアプリ 版 IE) ()デス

前 書 き 広 域 機 関 システム System for Organization for Cross-regional Coordination of Transmission Operators(OCCTO) rev: 商 標 類 Windows Office Excel

1-1 一覧画面からの印刷

目 次. WEB メールへのログイン.... メール 送 信 手 順.... メール 受 信 手 順 アドレス 帳 の 操 作 手 順 フォルダーの 操 作 手 順 メール 発 信 者 登 録 署 名 登 録 手 順 基 本 的 な 設 定

Microsoft Word - 参考資料:SCC_IPsec_win8__リモート設定手順書_

ご 利 用 の 前 に 手 順 初 回 ご 利 用 時 に 必 ずご 確 認 ください ご 利 用 の 前 に (ご 利 用 環 境 の 確 認 ) P アクセス 方 法 (IMAGE WORKSサイトへアクセス) P 初 期 設 定 (JREのインストール) P

目 次 目 次... 本 書 の 見 かた... 商 標 について....はじめに... 概 要... サポートされている 機 器 と OS... App Store から Brother ScanViewer をダウンロードする... 文 書 や 画 像 をスキャンする... 6 サポートされてい

検 索 文 字 列 が 住 所 にマッチするならば 地 図 画 面 を 表 示 します 検 索 文 字 列 が 住 所 の 一 部 ならば キーワードを 含 む 検 索 結 果 画 面 を 表 示 します

1.AmiVoice SP2 の 最 新 版 について 無 料 アップデートモジュールにつきまして 以 下 よりダウンロードできます 標 準 ( 大 ) 汎 用 音 響 モデル という 辞 書 が

スライド 1

Visio-XPSP2_Mpro.vsd

_禑暥ã†�ã…“ã……ã…‹ç«¯æœ«ã‡»ã……ã…‹ã‡¢ã……ã…Šæ›‰é€ƒæł¸ã•’10ã•‚V1.3.xls

(Microsoft PowerPoint - \222\300\221\335\211\244V4\203}\203j\203\205\203A\203\213\214\264\226{.ppt)

Acrobat Reader DCのインストール・操作方法―Windows 10/8.1/7

■ディレクトリ

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 入 力 項 目 について 基 本 情

11.サービス計画編 11-3-4 モニタリング報告書を作成する

2 / 13 ページ 第 7 講 ビジネス 表 計 算 の 実 用 テクニック 7-1 ファイルを 開 く 第 6 講 で 保 存 したファイル internet.xlsx を 開 きましょう 数 式 が 表 示 されている 場 合 は 非 表 示 にしておきましょう 7-2 罫 線 A3:C4 A

電子納品チェックシステム利用マニュアル

PowerPoint プレゼンテーション

3. 画 面 説 明 1 アドレスバー/Google 検 索 バー 4 ステータスバー 1 アドレスバー/Google 検 索 バー 現 在 表 示 されているホームページの URL 1 (ホームページアドレス)を 表 示 します URL を 入 力 すると 目 的 のページに 移 動 することがで

目 次 1 ご 使 用 の 前 に 1.1 動 作 環 境 1.2 セットアップ 方 法 2 使 用 方 法 2.1 起 動 方 法 2.2 操 作 方 法 効 果 音 設 定 アニメーション 設 定 スライドジャンプ 設 定 フラッシュカード 設 定

■コンテンツ

1.2. ご 利 用 環 境 推 奨 ブラウザ Internet Explorer Google Chrome(バージョン 32 時 点 で 動 作 確 認 済 み) Mozilla Firefox(バージョン 26 時 点 で 動 作 確 認 済 み) Safari 7

ユーザーズマニュアル_EveryPhone_3.接続_cc

第 1 章 PowerPoint を 始 める 前 に 第 1 章 PowerPoint を 始 める 前 に 1. 最 初 に 考 えること 2. PowerPoint の 画 面 -1- IBR2012-V1.0

Microsoft Word - 教科書VBA_第1章2013_.doc

Excel 2010 の 使 用 を 開 始 する 長 い 間 Microsoft Excel 2003 を 使 用 していたユーザーが Excel 2010 に 移 行 する と Excel 2003 のコマンドやツール バー ボタンがどこにあるのかわからなくなることがよ くあります そのため ト

<4D F736F F D B68F918DEC90AC89898F4B899E977095D2816A2E646F63>

アプリケーション補足説明書(Office2003)

Office2010 インストール手順

R4財務対応障害一覧

目 次 JAVIS Appli の 基 本 機 能... 3 JAVIS Appli について... 3 音 声 確 認 機 能 JAVIS Appli( 有 償 版 )の 機 能... 4 音 声 で 読 みの 確 認 をする... 4 辞 書 機 能... 5 単 語 を 登 録 する... 5

WebOTXマニュアル

Microsoft Word MSExcel2013

2.2 文 がセルの 行 の 高 さの 限 界 値 を 超 えた 場 合 の 処 理 本 アドインは 文 がセルの 行 の 高 さの 限 界 値 (409.5 ポイント)を 超 えている 場 合 に 行 を 追 加 し 自 動 調 整 する 機 能 を 備 えています 文 がセルの 行 の 高 さの

検 索 しよう... 1 結 果 を 見 よう ~ 検 索 結 果 一 覧 ~... 2 結 果 を 見 よう ~ 検 索 結 果 詳 細 ( 図 書 )~... 3 結 果 を 見 よう ~ 検 索 結 果 詳 細 ( 雑 誌 )~... 4 ログインしよう... 5 私 の 本 棚 を 活 用

迷惑メールフィルタリングコントロールパネル利用者マニュアル

活用ガイド-編集しよう

(Microsoft Word - Excel\211\236\227p1\217\315.docx)

Transcription:

Visual Studio 2013 による コード 複 製 検 出 を 使 用 した 重 複 コードの 検 出 2014 Microsoft Corporation. All rights reserved. 1

目 次 Visual Studio 2013 による コード 複 製 検 出 を 使 用 した 重 複 コードの 検 出... 1 1. ソリューションのコード クローン 分 析 の 実 行 と コードの 比 較... 4 2. コントローラーとビューへのコード 追 加... 8 3. 重 複 コードをリファクタリング... 14 2 2014 Microsoft Corporation. All rights reserved.

演 習 の 目 標 Visual Studio 2013 のコード 複 製 検 出 機 能 を 使 用 した 重 複 コードの 検 出 につい て 確 認 します 演 習 の 概 要 ソリューションのコード クローン 分 析 の 実 行 とコードの 比 較 コントローラーとビューへのコードの 追 加 重 複 コードをリファクタリング 演 習 の 前 提 条 件 この 自 習 書 を 始 める 前 に 以 下 の 前 提 条 件 を 満 たす 必 要 があります Visual Studio Premium 2013 with Update 4 もしくは Visual Studio Ultimate 2013 with Update 4 - 以 下 のページから [90 日 間 の 無 償 評 価 版 ] を 入 手 できます - http://www.visualstudio.com/downloads/download-visual-studiovs#downloadfamilies_1 以 下 の 自 習 書 による 学 習 が 終 了 していること - Team Foundation Server のインストールと 最 初 の 一 歩 - Visual Studio 2013 による CodeLens を 使 用 した エディターでの 予 想 所 要 時 間 コード 情 報 の 検 索 60 分 2014 Microsoft Corporation. All rights reserved. 3

1. ソリューションのコード クローン 分 析 の 実 行 と コー ドの 比 較 1. Visual Studio を 起 動 し [チーム エクスプローラー] ウィンドウのツール バーで [ホ ーム] ボタンをクリックします <<01_チーム エクスプローラー ホームへ 移 動 >> 2. [チーム エクスプローラー - ホーム] ウィンドウの [プロジェクト] セクションで [ソ ース 管 理 エクスプローラー] をクリックします <<02_ソース 管 理 エクスプローラーを 開 く>> 4 2014 Microsoft Corporation. All rights reserved.

3. [ソース 管 理 エクスプローラー] ウィンドウの 左 ペインで [Visual Studio 自 習 書 SelfStudy_CodLens] ノードをクリックし 右 ペインで [SelfStudy_CodeLens.sln] をダ ブルクリックします <<03_SelefStudy_CodeLens.sln を 開 く>> 4. Visual Studio メイン メニューの [ 分 析 ソリューションのコード クローン 分 析 ] を 選 択 します <<04_ソリューションのコード クローン 分 析 の 実 行 >> 5. [コード クローン 分 析 結 果 ] ウィンドウが 表 示 され [ 中 間 の 一 致 ] 複 製 グループが 二 つ 表 示 されることを 確 認 します <<05_コード クローン 分 析 結 果 >> 2014 Microsoft Corporation. All rights reserved. 5

6. 一 つ 名 の [ 中 間 の 一 致 ] ノードを 展 開 し [AccountController:ExternalLoginCallback] メ ソッドと [AccountController:Login] メソッドが 表 示 されることを 確 認 します <<06_ 中 間 の 一 致 複 製 グループの 展 開 >> 7. [コード クローン 分 析 結 果 ] ウィンドウで [AccountController:ExternalLoginCallback] メソッドと [AccountController:Login] メソッドの 行 にマウス カーソルを 移 動 すると 複 製 箇 所 のソース コードのプレビュー ウィンドウがポップ アップすることを 確 認 し ます <<07_ 検 出 されたソース コードのプレビュー>> 8. [コード クローン 分 析 結 果 ] ウィンドウで [Shift] キーを 押 しながら [AccountController:ExternalLoginCallback] メソッドと [AccountController:Login] メソ ッドの 行 をクリックし 選 択 したら マウスの 右 ボタンをクリックします コンテキス ト メニューの [ 比 較 ] を 選 択 します <<08_ 重 複 が 検 出 されたソース コードを 並 べて 比 較 >> 6 2014 Microsoft Corporation. All rights reserved.

9. 二 つのソース コードが 左 右 に 並 べて 表 示 されることを 確 認 します <<09_ソース コードの 重 複 状 況 を 確 認 >> 10. 水 平 スクロール バーを 右 方 向 にスクロールすると 左 右 のウィンドウが 連 動 してスク ロールすることを 確 認 します ソース コード 8 行 目 末 尾 の 匿 名 型 がオブジェクト 初 期 化 子 とともにインスタンス 化 されている 部 分 で [RememberMe] プロパティ 値 が 異 な るものの その 他 の 部 分 は 一 致 していることを 確 認 します <<10_オブジェクト 初 期 化 子 による 匿 名 型 の 初 期 値 指 定 が 異 なる>> 11. コードの 比 較 ウィンドウを 閉 じます 2014 Microsoft Corporation. All rights reserved. 7

2. コントローラーとビューへのコード 追 加 1. [ソリューション エクスプローラー] ウィンドウで [SelfStudy_CodeLens Controllers HomeControllers.cs] をダブルクリックし コード エディターで 開 きます <<11_HomeController.cs を 開 く>> 2. [HomeController.cs] コード エディター ウィンドウで [Index] アクション メソッド を 探 します メソッド 先 頭 にアクセス 時 刻 に 応 じたグリーティング メッセージを 作 成 するコードを 追 加 します <<12_グリーティング メッセージ 生 成 処 理 の 実 装 >> 8 2014 Microsoft Corporation. All rights reserved.

3. [ソリューション エクスプローラー] ウィンドウで [SelfStudy_CodeLens Controllers AccountControllers.cs] をダブルクリックし コード エディターで 開 きます <<13_AccountController.cs を 開 く>> 4. [AccountController.cs] コード エディター ウィンドウで [Login] アクション メソッ ドを 探 します メソッド 先 頭 に [HomeCOntroller.cs] の [Index] アクション メソッド と 同 様 のアクセス 時 刻 に 応 じたグリーティング メッセージを 作 成 するコードを 追 加 し ます <<14_グリーティング メッセージ 生 成 処 理 の 実 装 >> 2014 Microsoft Corporation. All rights reserved. 9

5. [ソリューション エクスプローラー] ウィンドウで [SelfStudy_CodeLens Views Home Index.cshtm] をダブルクリックし コード エディターで 開 きます <<15_Index ビューを 開 く>> 6. class 属 性 値 として [row] を 持 つ div 要 素 の 最 初 の h2 要 素 の 次 に HomeController.cs の [Index] アクション メソッドで 生 成 される ViewBag.GreetingMessage プロパティ をレンダリングする <h3>@viewbag.greetingmessage</h3> を 追 加 します <<16_Index ビューに ViewBag オブジェクトの GreetingMessage プロパティ レンダ リングを 追 加 >> 10 2014 Microsoft Corporation. All rights reserved.

7. [ソリューション エクスプローラー] ウィンドウで [SelfStudy_CodeLens Views Account Login.cshtm] をダブルクリックし コード エディターで 開 きます <<17_Login ビューを 開 く>> 8. 最 初 の h2 要 素 の 次 に AccountController.cs の [Login] アクション メソッドで 生 成 さ れる ViewBag.GreetingMessage プロパティをレンダリングする <h3>@viewbag.greetingmessage</h3> を 追 加 します <<18_Login ビューに ViewBag オブジェクトの GreetingMessage プロパティ レンダ リングを 追 加 >> 9. [Ctrl + Shift + S] を 押 下 し 変 更 のすべてを 保 存 します 10. [Ctrl + shift + B] を 押 下 し ソリューションをビルドし ビルドが 正 常 終 了 することを 確 認 します 2014 Microsoft Corporation. All rights reserved. 11

11. [ソリューション エクスプローラー] ウィンドウで [SelfStudy_CodeLens Views Home Index.cshtm] をダブルクリックし コンテキスト メニューの [ブラウザーで 表 示 ] を 選 択 します <<19_Index.cshtml をブラウザーで 表 示 >> 12. Web ブラウザーが 起 動 し Index ビューが 表 示 されアクセス 時 間 に 応 じたグリーティ ング メッセージが 表 示 されることを 確 認 したら ページ 右 上 の [ログイン] をクリッ クします <<20_ブラウザーに 表 示 されたグリーティング メッセージを 確 認 >> 12 2014 Microsoft Corporation. All rights reserved.

13. Login ビューが 表 示 されアクセス 時 間 に 応 じたグリーティング メッセージが 表 示 され ることを 確 認 します <<21_Login ビューに 表 示 されたグリーティング メッセージを 確 認 >> 2014 Microsoft Corporation. All rights reserved. 13

3. 重 複 コードをリファクタリング 1. Visual Studio メイン メニューの [ 分 析 ソリューションのコード クローン 分 析 ] を 選 択 します 2. [コード クローン 分 析 結 果 ] ウィンドウに [ 強 い 一 致 ] 複 製 グループが 表 示 されること を 確 認 します [ 強 い 一 致 ] 複 製 グループ ノードを 展 開 すると [AccountController:Login] メソッドと [HomeController:Index] メソッドでコードの 重 複 が 検 出 されたことを 確 認 します <<22_ 強 い 一 致 複 製 グループの 内 容 を 確 認 >> 3. [コード クローン 分 析 結 果 ] ウィンドウに [ 強 い 一 致 ] 複 製 グループ ノードで [Shift] キーを 押 しながら [AccountController:Login] メソッドと [HomeController:Index] メソ ッドを 複 数 選 択 し 右 クリックします コンテキスト メニューの [ 比 較 ] オプション を 選 択 します <<23_コード 重 複 箇 所 の 確 認 >> 14 2014 Microsoft Corporation. All rights reserved.

4. コードの 比 較 ウィンドウが 表 示 され [AccountCOntroller] クラスの [Login] アクショ ン メソッドで [ViewBag.ReturnUrl] プロパティへの 代 入 がある 以 外 は コード 内 容 が 重 複 していることを 確 認 します <<24_ 重 複 コードを 比 較 >> 5. コードの 比 較 ウィンドウを 閉 じ [HomeController.cs] コード エディター ウィンドウ に 切 り 替 えます 6. [HomeController] クラスの [Index] アクション メソッドの [return] ステートメント を 除 くステートメント 部 分 を 範 囲 選 択 し 右 クリックします コンテキスト メニュー の [リファクター メソッドの 抽 出 ] を 選 択 します <<25_メソッドの 抽 出 リファクタリング>> 7. [メソッドの 抽 出 ] ダイアログ ボックス ウィンドウで [ 新 しいメソッド 名 ] テキスト ボックスに GetGreetingMessage と 入 力 し [OK] ボタンをクリックします 2014 Microsoft Corporation. All rights reserved. 15

<<26_メソッドの 抽 出 >> 8. [HomeController.cs] コード エディター ウィンドウで [Index] アクション メソッド の 下 に [GetGreetingMessage] メソッドが 追 加 され グリーティング メッセージ 生 成 ロジックが 新 しく 作 成 されたメソッドに 移 動 したことを 確 認 します また [Index] ア クション メソッドで 新 しく 作 成 された [GetGreetingMessage] メソッドを 呼 び 出 し ていることを 確 認 します <<27_GetGreetingMessage メソッドの 分 離 >> 16 2014 Microsoft Corporation. All rights reserved.

9. [GetGreetingMessage] メソッドのアクセス 修 飾 子 を [private] から [public] に 変 更 し ます <<28_GetGreetingMessage メソッドのアクセス 修 飾 子 を public に 変 更 >> 10. [AccountController.cs] コード エディター ウィンドウに 切 り 替 え [Login] アクション メソッド 内 のグリーティング メッセージ 生 成 部 分 のロジックを 選 択 し 削 除 します <<29_AccountController クラスからグリーティング メッセージ 生 成 ロジックを 削 除 >> 11. 削 除 したコードの 代 わりに [GetGreetingMessage] メソッドの 呼 び 出 し 処 理 を 追 加 し ます <<30_AccountController クラスから GetGreetingMessage メソッドを 呼 び 出 すように 修 正 >> 2014 Microsoft Corporation. All rights reserved. 17

12. [Ctrl + Shift + S] を 押 下 し 変 更 のすべてを 保 存 します 13. [Ctrl + shift + B] を 押 下 し ソリューションをビルドし ビルドが 正 常 終 了 することを 確 認 します 14. [ソリューション エクスプローラー] ウィンドウで [SelfStudy_CodeLens Views Home Index.cshtm] をダブルクリックし コンテキスト メニューの [ブラウザーで 表 示 ] を 選 択 します 15. Web ブラウザーが 起 動 し Index ビューが 表 示 されアクセス 時 間 に 応 じたグリーティ ング メッセージが 表 示 されることを 確 認 したら ページ 右 上 の [ログイン] をクリッ クします 16. Login ビューが 表 示 されアクセス 時 間 に 応 じたグリーティング メッセージが 表 示 され ることを 確 認 します 17. Visual Studio メイン メニューの [ 分 析 ソリューションのコード クローン 分 析 ] を 選 択 します 18. [コード クローン 分 析 結 果 ] ウィンドウから グリーティング メッセージ 生 成 ロジッ クの 重 複 検 出 が 解 消 したことを 確 認 します <<31_グリーティング メッセージ 生 成 処 理 重 複 の 解 消 >> 18 2014 Microsoft Corporation. All rights reserved.