code review 两三事

来源:互联网 发布:2017淘宝盗图申诉 编辑:程序博客网 时间:2024/04/29 16:25

最近想推 code reviews,理由是想藉由同事彼此相互 code revews,達到兩個效果:

(1) 減少 bug
(2) 同事之間互相切磋交流

不過要推 code reviews ,首先要搞清楚 code reviews 到底是怎麼一回事,又該如何進行。

定義:

code reviews 通常可以發現並移除程式的漏洞,例如不合法的 format 參數,race condition,記憶體洩漏,及 buffer overflow。因此可以加強程式的安全性。線上的版本管理系統 subversion 陪和
Trac, Mercurial, Git 可以讓一群人,合作來 review code。另外有特定的工具,可以讓彼此合作的 code review 變成一種制度。

一聽就有點頭大,沒想到專業的 code reviews 可以變成一種制度。臉上冒出三條線。但是還是繼續搞清楚。

種類:

code reviews 大概可分為正式的 code revews,及輕量級的 code reviews。

正式的 code reviews 就是有正式的形式,以非常小心的步驟來進行,召開正式的會議,並將要 review 的代碼印出來,由原作者解釋代碼的運作原理,佈局及實做,其他參與 code reviews 的人則針對此,提出問題,看法,及建議。

輕量級的 code reviews 的 overhead 比正式的 code reviews 低,不過常常也會有不錯得效果。以下幾種常用的方法:

(1) 請其他程式,幫忙看看程式有沒有問題(over the shoulder)
(2) 將要 review 的代碼,寄給其他同事,幫忙看看有沒有問題
(3) 寫程式時,就是以兩個程式一組,共同來完成,因為每個人想事情的邏輯不同,所以可以發現盲點。
(4) 透過工具,自動把要 code reviews 代碼,指定給其他程式負責 review。

輕量級的 code reviews 似乎比較可行。

選擇:

我們最後採用一種變通的方法,就是要 check in 程式的人,找其他有空的程式,幫忙 code reviews 後,程式才可以 check in,並沒有特別用其他工具,版本管理是用 perforce。

參考資料:維基百科 code reviews

 

原创粉丝点击