VSTS2010 CTP 的新特性 (3) 程式碼分析 - 改善撰寫品質

摘要:VSTS2010 CTP 的新特性 (3) 程式碼分析 - 改善撰寫品質

以前在團隊中我還蠻要求程式碼的品質,因為個人認為要有品質的系統一定是有好的程式碼

在 VB6 的時候,我一定會在程式寫好後逐一看所有的 code ,雖然會很花時間但可以確定在上線之前保有一定的品質

說真的,效率有限呀!時間更有限!!  若是只有我一個人做的話!其他的事就根本不用做啦!尤其有一些都是很基本的寫法,像 物件 的生命週期、命名原則、變數的使用

以前一直以為這種事情是一定要經由人工的方式來執行

後來換到 .NET 時就有聽過 FxCop 可以檢查程式碼,試用下來後發現除了命名規則外,居然還有 效能性、安全性、多語系性等等的規則 ( 自已數下來多達 240 個以上 ) 

ex.. 像 SQL Injection 的安全性、Memory leak 之類的問題…

首先自已馬上在專案中試用後,發現在當下寫程式碼的時候,工具就會主動提醒我  那個地方的寫法是不較不好的,那些程式是忘了把物件做 close 的動作。Class 的 interface 的命名也會提供一些建議,讓程式看起來可以跟 .NET Framework 一致。

對整個的開發團隊來說,基本的程式碼檢查都可以利用工具檢核。而資深的人在進行 Code Review 時就可以專注在程式的架構或是演算法上,把時間花在重要的地方上。

利用工具的話還不會有漏掉的問題呢!我自已在寫的時候就可以不用擔心那個地方又漏改了。

--------------- 新功能 --------------------------------------------------------------------------------------

以前在 05 / 08 時的程式碼分析上,都必須每一個專案都設定的規則。

對於同性質的專案來說,同樣的設定就要設很多次

在 2010 中這一點整個改善,新增了「Rule Set」 (  規則套餐 XDDD )   。

裡面已經有內建的一些規則,也可以自行新增 相當的方便

image

這次在介面上整個很友善!有支援 Search (很快) ,這次點了規則後下面還會顯示「錯的寫法和好的寫法」。當下就可以決定要不要使用這個規則

image

程式碼分析的結果可以直接整合至 Work Item ,當團隊在進行 Code review 時也可以依這個的結果來決定工作立即分派由誰來處理。

這次還新增了可以決議把有問題的結果「取消」,之後再重新分析就不會再出現了。這讓我們在進行 reivew 時可以很有彈性地決定,因為並不是所有的情況都是需要改的。

image

可以同時框多個錯誤,會一併加入至 work item 中的 history 裡

image 

Tip:這個功能對於一些專案是走外包模式時,也可以利用工具做驗證外包團隊所寫的程式是否有符合品質的規範。