Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

 苦痛的案例  目的  品質指標  工具簡介  平順的案例  結論

Slide 3

Slide 3 text

 被專案時程壓到喘不過氣的91,為了讓專案準時 上線而無所不用其極,最後氣力放盡的同時,總 算將專案的功能完成且上線。  主管體恤91被專案時程操到無力,改調91去維護 組以降低壓力。但91打開現有專案準備維護時, 只有『WTF!!』的感想,這code怎麼可以寫的這 麼髒、這麼黏、這麼亂。  小風接手91原本的專案,預計增修一些功能,小 風打開專案後,也脫口而出:『WTF!!』

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

 花了半個小時在討論命名跟風格的問題  花了半個小時在解釋一個,看起來很難懂, 需要作者step by step解釋的function  好像在哪看過與這段code一樣的邏輯?  一個function捲了好幾頁還沒結束?  …

Slide 6

Slide 6 text

 透過工具提供一個客觀的數據,以供評斷是 否有bad smell

Slide 7

Slide 7 text

 可維護性  設計的彈性  安全  效能 › 壓力測試與負載測試(不在今天討論範圍)

Slide 8

Slide 8 text

 風格一致性  複雜度  區塊深度  繼承深度  程式碼相似度  弱點掃描

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

 目標 › 風格一致性  特色 › 可自訂適合團隊或現行專案的rule template › 免費 › 與Visual Studio整合  建議門檻 › 全數通過自訂的rule set

Slide 11

Slide 11 text

 使用方式  設定  輸出結果

Slide 12

Slide 12 text

 目標 › 複雜度 › 區塊深度  特色 › 免費 › 有自己的GUI › 支援多種語言(無法同時多種) › 針對單一檔案分析

Slide 13

Slide 13 text

 建議門檻 › 複雜度  嚴格:10  一般:15 › 區塊深度  嚴格:4  一般:5

Slide 14

Slide 14 text

 使用方式  注意事項  輸出結果

Slide 15

Slide 15 text

 目標 › 綜合維護性指標 › 循環複雜度 › 繼承深度 › 程式碼行數  特色 › 與VS2010完全整合,但需Premium以上的版本 › 無法針對WebSite

Slide 16

Slide 16 text

 建議門檻 › 綜合維護性指標(針對專案)  75 › 循環複雜度(針對function,也就是成員)  15 › 繼承深度(針對類別)  5  建議可以依照自訂類別開始計算繼承深度,數據會更為 實用 › 程式碼行數(針對function)  30

Slide 17

Slide 17 text

 使用方式  注意事項  輸出結果

Slide 18

Slide 18 text

 目標 › 程式碼相似度  特色 › 非商用與教育可試用 › 可設定掃描門檻與篩選條件 › 支援多語言  評斷標準建議 › 20/25行以上相似的區塊,應作說明

Slide 19

Slide 19 text

 使用方式  輸出結果

Slide 20

Slide 20 text

 目標(全面性的分析規則防護) › 設計警告 › 全球化警告 › 互通性警告 › 維護性警告 › 行動力警告 › 命名警告 › 效能警告 › 可攜性警告 › 可靠性警告 › 安全性警告 › 用法警告 › 程式碼分析原則錯誤

Slide 21

Slide 21 text

 特色 › VS2010 Premium以上才有整合至VS2010中  版本太低,可自行安裝FxCop套件 › 內建提供對應的xsl,供網頁輸出結果  評斷標準建議 › 建議按照系統需求自訂

Slide 22

Slide 22 text

 使用方式  輸出結果

Slide 23

Slide 23 text

 目標 › 頁面效能分析  特色 › Firefox, Chrome plugin › 不支援IE  評斷標準建議 › 建議針對需求,強調各項標準的等級門檻 › 綜合等級建議至少要B

Slide 24

Slide 24 text

 使用方式

Slide 25

Slide 25 text

導入工具 訂定門檻 Review前 通過門檻 針對需求 Review 簽入原則 / daily build 產出報表

Slide 26

Slide 26 text

 客觀的資訊來訂立標準  自動化的工具來節省時間  持續整合、持續回饋  透明化的健康報告資訊

Slide 27

Slide 27 text

 StyleCop簡介  SourceMonitor簡介  VS2010 程式碼度量簡介  Simian簡介  FxCop/VS2010程式碼分析簡介  Yslow官網  CI簡介

Slide 28

Slide 28 text

No content