Visual Studio 2013 關於程式碼品質和診斷工具的新功能 (CodeLens, Code Map, IntelliTrace, Memory Dump Analysis)
註: 內文提及Visual Studio Ultimate已於 2015/3月改名為 Visual Studio Enterprise
很多開發人員在問,如何寫更好品質的程式碼呢? Visual Studio 2013 已內建了一些品質及診斷工具,讓你寫碼、除錯及診斷問題更容易,幫你省下一些時間,也提高了程式碼的品質! 包括以下實用新功能:
1. CodeLens - 編輯器中的抬頭顯示器
為什麼說 CodeLens 這功能是程式碼編輯器中的抬頭顯示器呢? 就好比開車時,有個時速資訊顯示在前檔玻璃上,稱為抬頭顯示器,因駕駛的視線通常是在前方路況,若是低頭看儀表板才知道時速,除了不方便外也容易分心。當你在 Visual Studio Ultimate 中使用 CodeLens 時,不需要離開編輯器,即可找到有關程式碼的資訊。 例如,您可以找到參考、連結的 Team Foundation Server (TFS) 項目,例如這些程式碼與哪些工作單或 Bug 單有關、和單元測試的執行結果 – 全部在編輯器上,你就無需切換許多視窗及介面,可以專心在開發工作上並省下許多時間。
請參閱 使用 CodeLens 在編輯器中尋找程式碼的相關資訊。
更多 CodeLens 資訊,請參考: https://blogs.msdn.com/b/slange/archive/2014/06/17/panels-vs-context-a-tale-of-two-visual-studios-and-a-practical-explanation-of-the-value-of-codelens.aspx
2. 程式碼地圖 Code Map - 視覺化程式碼關連性及圖型化偵錯工具
這個功能很實用,可以一目了然專案中模組之間的關連,尤其是剛接手別人的程式碼,或是維護他人的程式,藉由在 Visual Studio Ultimate 中建立程式碼地圖,來視覺化和巡覽你的程式碼關聯性。另外也可用來當偵錯的工具,您也可以在偵錯時將呼叫堆疊視覺化,如此才容易理解目前已跳到哪裏了,幫助你偵錯更輕鬆。
請參閱在 Visual Studio 中利用 Code Map 視覺化和了解程式碼和以視覺化方式在 Visual Studio 中使用呼叫堆疊偵錯程式碼執行狀況。
3 - .NET Framework 記憶體分析與傾印檔案 - 快速解決 memory leak 問題
這用來抓出 memory leak (記憶體遺漏) 的問題很有幫助! 尤其當你的.NET 應用程式已經執行於上線環境, 可能同時影響應用程式和整個電腦的記憶體使用量問題。 Visual Studio 2013 加強了傾印檔案分析 (memory dump analysis) 工具,協助您尋找 .NET Framework的 Web、資料庫和桌面應用程式中的記憶體遺漏、沒有效率的記憶體使用和不必要的設定。如需 .NET 記憶體程式分析工具的詳細資訊,請參閱 Visual Studio ALM + Team Foundation Server 部落格上的這篇文章 (英文)。 如需傾印檔案的詳細資訊,請參閱在 Visual Studio 中使用傾印檔案偵錯應用程式當機和停止回應的問題。
4. IntelliTrace 智慧偵錯 - 可追蹤上線環境系統問題,除錯時可追到哪一行程式碼出了問題
這是 VS 2010 Ultimate 版本就有的功能,但在 VS 2013 又加強了可以偵錯上線環境的問題,若是一個重要系統,上線環境很難為了除錯一個問題而全面停機,可利用 IntelliTrace 收集伺服器端事件,在 VS 2013 中打開,就可以偵錯到問題出在哪,甚至找出問題的程式碼,減少了除錯的時間。尤其是上線系統效能問題,若要找到是哪些程式碼導致效能不佳,這功能是很實用的。以下是 VS 2013 Ultimate 針對 IntelliTrace 新增的功能。
新功能和支援的工作 |
---|
|
5. 單元測試的改進
單元測試是 Visual Studio 很基本的測試功能,但在 VS 2013 中也有許多加強,如下:
新功能和支援的區域 |
---|
當您在 Visual Studio Ultimate 使用 CodeLens 事前顯示時,能在不離開編輯的狀態下找到單元測試和其狀態
|
用播放列表來建立並儲存測試設定 - 您可以建立和儲存您要以群組執行或檢視的測試清單。 當您選取某個播放清單時,清單中的測試顯示為測試總管。 您可以將在測試中加入一個以上的播放清單,當您選擇預設的 [所有測試] 播放清單時,就可以使用專案中的所有測試。 參閱建立自訂播放清單 |
增強型的篩選和分組的測試在測試總管中。 提供可讓您更輕鬆地在測試總管的新標準下組織和執行單元測試,請參閱 群組和篩選測試清單 。 |
延伸閱讀: Visual Studio 2013 在軟體測試上的強化
線上學習: 正確的團隊寫碼標準 - 如何兼顧程式碼品質及開發效率 (胡百敬)