代碼走查的責任制
許多年前農村土地承包責任制的出現,使之大農民的角色發生了根本性的改變,從而迎來了糧食產量和農民很生活的巨大改善。同時在Code Rivew 這一個群體活動中,讓其有效運行起來一個最有效的方法就是分角色同時對某一角色賦予一定的責任。下面就對在我們團體中分角色的Code Review及其流程進行一個簡單的講解,同時也想和廣大軟件同仁們一起交流一下關于CodeReview的一些觀點和看法。因為是本公司的方法所以也會有不足之處,歡迎討論。
一、Code Review 角色分類
1、Author:被Review對象的作者。
2、moderator:一般由團隊中開發經驗豐富的人擔任。
3、Recorder:主要用于記錄在整個代碼Review中情況。
4、Reader (may be the same person as Author or leader)
5、Other reviewers:團隊中的其它成員,但是一般不要人太多,因為對于一個討論會議一來說一般要將參加會議的人控制在7人以內為最佳,這樣這個會議才是可控的。
以上這些角色的職能會在Code Review中的不階段而發生變化。
二、Code Review的流程及其角色在不同階段的任務
上圖顯示了整個Code Review活動流程情況,一般在一個Code Review活動會中Planning,Preparation,Meeting,Rework&Verfication是必須的,而Overview階段會隨著Review對象的不同而不同,對于一些Review工作大量的活動這個階段是必須的,下面將詳細描述每個階段的任務,以及各個角色在相對應階段的責任。
1、Planning:
這個階段主要是對各個角色人員的確定以及確定所Review的對象是否已經達到能夠被Review的階段,這樣以防止代碼在仍有很大 問題的情況下進行Review而導致Review的整體效率太低。還有對整個Review過程所以經歷的時間段有一個大體的劃分。在這一階段首先由Author確定誰來當本次Review的moderator(一般moderator只能從團隊中有限的幾個人內挑選,并不是每個人都可以充當這個角色的。)然后再邀請別人充當本次Review的Recoder,Other reviewers;
這個階段各個角色的主要任務是:
Author:對整個Review過程制定計劃,確定參加這次Rewview人員,為這些成員分發要Review的材料。
moderator:對整個要Review的對象進行分析查看是否達到能夠開始Code Review的要求。
2、Overview:
對于大量的東西要Review的項目,或者大部分參與Review的人對要Review的東西都不是很熟悉的情況下。由Author開招開一個簡短的站會整體解決一下所要Review的東西。
3、Preparation:
在這個階段,所有參與的reviewers對所以review的東西各自進行走讀,然后記錄并提交發現的問題,然后由Author和moderator共同對reviewers所發現的問題進行匯總,分類,甄別。之后根據匯總上來的問題來進一步判斷是否適合招開Review會議。如果匯總上來的問題比較多,比較嚴重則說明所要Reivew的文件尚未真正達到要求,則取消本次活動。由Author重新開發。如果發現的問題不是很多,則按時招開Review Meeting.
這個階段各個角色的主要任務是:
reviewers:對所要Review的對象各自先進行走讀,然后提交各自發現的問題。
moderator和Author:對reviewers提交上來的問題進行匯總總結查看是否符合Review的條件。
4、meeting:
meeting做為整個review的核心和關鍵環節其主要任務是首先由Author主持對匯總上來的問題,逐個的分析然后給出自己的判斷,是接受reviewers還是不接受reviewers提出的問題。對于有分歧的問題進行討論,如果還有分歧則由moderator決定這個問題是否要改怎么改。在將所有匯總上來的問題分析完后,再由Author帶著所有reviewers對代碼進行走讀。然后進一步分析和討論代碼中的問題。
這個階段各個角色的主要任務是:
Author:逐個分析匯總上來的問題,并給出自己的分析。帶領所有reviewers對代碼進行走讀;
moderator:分析判斷Author對問題的分析判斷是否合理,在關鍵時刻給出分歧問題的處理意見;
reviewers:討論分析之前提出的問題,對代碼進行集體的重新走讀,以發現更多的問題;
Recorder:對整個Code Review進行記錄,包括發現的問題以及問題的整改意見。
5、Rework&Verification:
這個階段主要是Author對整個Review過程提出的問題進行整改,然后提交由moderator對整個整改的情況進行評估。
總結:
通過對Code Review中的成員進行角色分工,從而賦予他們一定的職責,這樣就能很好的提高他們的責任感從而大大提高代碼走查的效率。
posted on 2013-02-28 11:48 順其自然EVO 閱讀(377) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄