[ALM 學習] 進階程式開發、除錯及程式碼品質 (Advanced Development, Debugging and Code Quality)

 

註: 內文提及Visual Studio Ultimate已於 2015/3月改名為 Visual Studio Enterprise

以下 Lab 來自於 ALM 學習中心 (https://aka.ms/learnalm),雖然版本是 VS 2012/ TFS 2012,但仍適合使用 Visual Studio 2013/ TFS 2013 者的了解基本觀念,可直接觀看影片學習。

 

進階程式開發、除錯及程式碼品質 (Advanced Development, Debugging and Code Quality)

  • 使用工具:Visual Studio Premium 或 Ultimate 2012 企業旗艦版 / Team Foundation Server 2012

  • 適合對象:研發主管及所有開發人員

  • 學習重點:瞭解程式碼品質的重要,內容涵蓋:

    1. 單元測試 (Unit Test),程式覆蓋率 (Code Coverage)

    2. 程式碼分析 (Code Analysis)、程式碼度量 (Code Metrics)、效能分析 (Profiling)、程式碼複製品分析(Code Clone Analysis,New!)

    3. 程式碼檢閱 (Code Review,New!)

    4. 如何使用 IntelliTrace 進行除錯 (開發環境及上線環境皆可用,New!)

簡介

程式碼品質 - 使用 Visual Studio 2012 Ultimate (Premium)

教學大綱

  • 程式碼品質為何重要

  • Visual Studio 2012 中提升程式碼品質的工具

  • 延伸討論

  • 簡報檔下載

IntelliTrace 簡介

教學大綱

  • 什麼是 IntelliTrace

  • 誰可以用 IntelliTrace

  • IntelliTrace 和 Team Build

  • IntelliTrace 和品質

  • 如何有效收集 bug 資訊

  • 簡報檔下載

  • Sample Code下載

開始實作

Lab 1 - 以 Visual Studio 2012 進行單元測試與程式碼複製品分析

概觀

在這個練習中,你將會學習到在 Visual Studio 2012 中完全改造的單元測試。 藉由單元測試引擎的可延展性,Visual Studio 2012 將對第三方單元測試適配器如 NUnit 與 xUnit.net 敞開大門。你也將會學到新的程式碼複製品功能藉由協助識別語義相似的程式碼區塊 (這些區塊可能為一般 bug 修正或者重構候選者) 以交付高品質軟體。

前置條件

為了完成這個練習,你將需要微軟提供的 Visual Studio 2012 hands-on-labs 虛擬機器。要取得更多的資訊或虛擬機器,請參閱此 部落格

邊做邊學影片

練習

這個 hands-on lab 包含以下練習 :

  1. 單元測試

  2. 程式碼複製品分析

  3. 完整文件下載

約略估計完成此 lab 時間:30分鐘

Lab 2 - 使用 Visual Studio 2012 程式碼分析改善程式碼品質

概觀

Visual Studio 的程式碼分析功能提供了對程式碼的靜態程式碼分析以協助開發者識別潛在的設計、全球化、互通性、效能、安全性以及許多其他類型的問題。程式碼分析可以在任何時間從 Visual Studio IDE 手動執行,或者在 Team Foundation Server 設定為 Team Build 或者簽入原則的一部分自動執行。

在這個練習中,將會簡介程式碼分析以及如何設定規則集,最後是如何在專案以及程式碼層級關閉特定規則。

注意 : Visual Studio 2012 Professional, Premium ,以及 Ultimate 版本支援程式碼分析。一個最重要的程式碼分析警告的子集免費包含在 Express 版中 (適用於 C++,C#,and Visual Basic 程式碼分析)

前置條件

為了完成這個練習,你將需要微軟提供的 Visual Studio 2012 hands-on-labs 虛擬機器。要取得更多的資訊或虛擬機器,請參閱此 部落格

邊做邊學影片

 

練習

此 hands-on lab 包含下列練習 :

  1. 介紹程式碼分析

  2. 關閉程式碼分析警告

  3. 完整文件下載

約略估計完成此 lab 時間:30 分鐘

Lab 3 - 程式碼檢閱

概觀

前置條件

為了完成這個練習,你將需要微軟提供的 Visual Studio 2012 hands-on-labs 虛擬機器。要取得更多的資訊或虛擬機器,請參閱此 部落格

此 Lab 是接續上一個 Lab: 使用 Visual Studio Team Foundation Server 2012 讓開發者更有生產力,須請你先完成該 Lab 再繼續。

邊做邊學影片

 

練習

此 hands-on lab 包含下列練習 :

  1. 暫停與恢復,程式碼檢閱

  2. 程式碼合併

  3. 簡報檔下載

  4. 完整文件下載

約略估計完成此 lab 時間:30 分鐘

Lab 4 - 透過 IntelliTrace 和 Visual Studio 2012 偵錯線上系統

概觀

IntelliTrace – 於 Visual Studio 2010 導入– 讓開發人員執行單步除錯可以”回到過去”,改變了程式碼除錯的方式, 以檢視應用程式為何會進入到當時的狀況。藉由提供諸如存取註冊機碼、例外、呼叫函數等事件,IntelliTrace 檔案可以檢視應用程式行為模式的細節。

在本次練習,你將學習 Visual Studio 2012 延伸 IntelliTrace 的能力,藉由提供 IT 管理者在線上系統執行 IntelliTrace 擷取檔案之能力,讓 IntelliTrace 可以不僅僅使用在開發或測試。 這些 檔案之後可以讓開發人員分析,以了解線上系統的問題。

注意:這個虛擬機已經設定「組建 (build)」使用與存放原始碼和符號 (symbol)。這保證從 IntelliTrace 取回的檔案可以正確對應到特定的組建。為了搭配你的應用程式有效使用 IntelliTrace,你應該閱讀此 部落格,它進一步說明細節並 提供使用說明。

前置條件

為了完成這個練習,你將需要微軟提供的 Visual Studio 2012 hands-on-labs 虛擬機器。要取得更多的資訊或虛擬機器,請參閱此 部落格

邊做邊學影片

 

練習

此 hands-on lab 包含下列練習 :

  1. 在線上系統使用 IntelliTrace

  2. 使用來自線上系統的 IntelliTrace 檔案除錯

  3. 完整文件下載

約略估計完成此 lab 時間:60 分鐘

Lab 5 - 使用 Visual Studio Ultimate 2012 與 IntelliTrace 進行除錯

概觀

在此 lab 你將學習 Visual Studio Ultimate 2012 提供的 IntelliTrace 之除錯功能。在加入 IntelliTrace 之前,除錯是在特定時間點之後往下走。如果你希望找尋更多之前呼叫的相關訊息,則可能是重設中斷點並重新執行應用程式。IntelliTrace 讓你可以搜尋大量的執行點,即便是發生在過往,還可以深入專研進去,比較變數、呼叫堆疊…等。準確找到問題發生原因而不需要重做這個問題。

注意:這個虛擬機已經設定「組建 (build)」使用與存放原始碼和符號 (symbol)。這保證從 IntelliTrace 取回的檔案可以正確對應到特定的組建。為了搭配你的應用程式有效使用 IntelliTrace,你應該閱讀此 部落格,它進一步說明細節並 提供使用說明。

前置條件

為了完成這個練習,你將需要微軟提供的 Visual Studio 2012 hands-on-labs 虛擬機器。要取得更多的資訊或虛擬機器,請參閱此 部落格

邊做邊學影片

 

練習

此 hands-on lab 包含下列練習 :

  1. 介紹 IntelliTrace

  2. 搭配呼叫資訊使用 IntelliTrace

  3. 簡報檔下載

  4. 完整文件下載

約略估計完成此 lab 時間:60 分鐘