2010年4月2日 星期五

為程式碼減肥

在開發的過程中,會不斷的新增及修改程式。雖然使用了 TDD (Test-driven development)開發方法,一定程度上不會寫出不必要的程式,但人非聖賢,難免還是會留下一些不必要的註解及程式。

要下是我常見的毛病:

  1. 宣告了變數卻從不使用。
  2. 指定了變數值(assign),卻從不讀取(comsume)
  3. 宣告了 private method (方法),卻沒有使用過。
  4. etc

這樣一來,程式碼難免愈來愈來多, assembly size也就愈來愈大,執行時就需要更多載入時間,導致維護困難與效能不佳的問題。

有沒有工具可以幫我們找出一些不要的程式「脂肪」呢?在 Visual Studio 2005 後,就多了一個 Code Analysis 工具,可以幫我們找出許多程式碼的問題。

image

在方案總管的某一專案上按右鍵/內容,可以找到 Code Analysis 頁。

image

在 Performance Rules中,可以找到一些有用的 rule,可用來檢查上述不必要的程式碼。

  • CA1804: 未使用的區域變數。這個最常犯了,一定要選取
  • CA1805: 不必要的初始值。
  • CA1809: 過多的區域變值。
  • CA1811: 未被呼叫的私有程式碼。見 CA1811: Avoid uncalled private code
  • CA1823: 未被使用的私有成員變數 (private field)。

自己已經覺得有程式碼潔癖了,但仍使用Code analysis 找到不少的程式脂肪,真窘。

在 Code Analysis 還有許多寶物等待我們去挖掘呢。

PS: 有些英文實在難以翻譯出適當的中文敘述,請大家見諒。

沒有留言:

Share with Facebook