使用GPA衡量專案品質

什麼是GPA?

GPA是...

  • 美國學校用來衡量分數的一種指標
  • 可以客觀的評斷優劣程度
  • 通常分成4-point(A grade)
  • 依據不同地方有所不同
等級 分數
A 4.0
B 3.0
C 2.0
D 1.0
F 0

舉例來說

  • ​班上考試,小明得到的分數(4-point)分別...
    • 國文: A
    • 英文: D
    • 數學: B
    • 物理: B
  • 那小明的總評等為: 4 + 1 + 3 + 3 / 4 = 2.75 (C 等)

但是...

有其他的問題...

GPA的延伸其他問題

  • 無法精確度量「程式碼」
  • 跟分數不一樣,沒有一個取樣的標準

程式碼指標

分為三大類

  • Coding Style
  • Code Mess
  • Duplicated Code

以codeclimate為例

得分 等級
0-2M A
>2M-4M B
>4M-8M C
>8M-16M D
>16M F

那這個分數怎麼來?

怎麼計算呢

  • 依照「行數」計算,也就是越大的檔案越需要重構切小
  • 依照專注範圍區分
檔案 累積分數 行數 得分
Foo.js 3000000 100 3.0 (B)
Foo1.js 1500000 50 4.0 (A)
Foo2.js 4100000 200 2.0 (C)

(3*100 + 50 * 4 + 200 * 2) / (100 + 50 + 200) = 2.57

注重產出品質

  • 不要只是負責大便
  • 想想後面的人
  • 想想兩年後的自己(還看得懂嗎)
  • 減少重大fatal error的機會

使用GPA衡量專案品質

By michael34435

使用GPA衡量專案品質

  • 801