Code Review 是不是多餘的?
如果你是汲汲於賺錢的老闆, 應該覺得這幹麻做, 浪費時間.
如果你跟我一樣是個程式小工, 那麼請跟我一起重視這件事情. 透過這個活動讓我們養成一種正確的習慣.
CodeReview 不用是一群人在房間裡盯著一支程式在指指點點. Review 若讓人覺得沮喪, 最終將淪為形式; Review 應當要讓人覺得有進步, 高興, 可以為其他人的學習典範.

如何讓 CodeReview 可以時常進行?

  • 有重點
  • 有原則
  • 有範圍
  • 可快速識別問題

如何知道 CodeReview 有成效?

  • Review 項目必須一致
  • 問題識別標準必須一致
  • Review 活動必須被紀錄
  • 上線後與Review相關的異常數必須被 feedback

如何知道可以更換 Review 項目了?

  • 個人各項Review項目的缺失數量連續幾次為 0 或達可接受的標準

如何知道可以不用再 CodeReview ?

  • 個人已無須Review的項目
  • 產品的被發現的異常數在可接受的範圍內
  • 組織禁止 CodeReview

努力讓 Code Review 成為一種內在習慣.

原則:

每次 Inspection Review 時間不超過 60 分鐘
每人每次 Inspection Review 代碼不超過 200
KPI: TBD

角色:

Author

提供要Review的程式碼與相關的SDD文件 (標示或說明 Review 的範圍[FileMethod])

提供 findbugs 的結果

提供個人的 CheckList

Moderator

Review process 的負責人.

找到合適的 reviewers.

把被文件的給 reviewers.

提供專案的 CheckList

Reviewer

To reads and comments on the code.

To log a Record


 

CodeReview Activities:

 

Inspection Review Flow:

Records:

  • 預計出版版號
  • Review Date
  • Author
  • Reviewer
  • LOC (TBD: Modified Method LOC 一支 java LOC)
  • Review Items
     -- Number of defects for each item (只紀錄第一次審視發現的缺陷, 不紀錄複審的)
  • First Review Time (hrs) (只紀錄第一次審視花費的時間, 不紀錄複審的)
  • Total Review Times (複審次數)
  • Number of defects of released-related

 

如何促成改善:

  • 透過團隊與個人累積的缺陷紀錄, 提供團隊與個人的改善建議與精進目標.

 

工具可以協助的事情:

  • 計算 LOC
  • Review 活動的管理
  • 靜態分析

 

產出資料:

  • 更新個人的 CheckList
  • 更新專案的 CheckList
  • 單次缺陷紀錄
  • 歷史缺陷紀錄庫

 

定義:

  • Inspection Rate: kLOC per hour  (若規模不大, 可以直接用 LOC)
  • Defect Rate: Number of defects found per hour
  • Defect Density: Number of defects found per kLOC (若規模不大, 可以直接用 LOC)
  • Effective: TBD

 

文章標籤
全站熱搜
創作者介紹
創作者 Mr.Y 的頭像
Mr.Y

航向新世界

Mr.Y 發表在 痞客邦 留言(0) 人氣(686)