亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

淺談CodeReview

2023-07-27 05:47:54
10
0

一、CodeReview意義

  1. 提升團隊代碼設計水平
  2. 確保代碼設計和實現一致(前提需要有技術設計一環)
  3. 厘清業務邏輯細節,尤其是涉及多條業務線的情況

二、CodeReview問題

2.1 對于提交代碼的同學:

1、不清楚提交代碼 CR 的范圍?

2、不清楚需要給哪些人提交代碼 CR?

3、怎樣才能讓別人認真評審代碼?

2.2 對于參與評審代碼的同學:

1、不清楚需要 CR 代碼的業務上下文是怎樣的,不容易判斷代碼結構設計的合理性;

2、一下子提交幾千行代碼,哪些代碼是 CR 的重點內容,哪些不是;

三、代碼編寫規范

1. Java: 參考阿里編碼規范

2.代碼審核清單:

常規項 1 代碼能夠工作么?它有沒有實現預期的功能,邏輯是否正確等。
2 所有的代碼是否簡單易懂?
3 代碼符合你所遵循的編程規范么?這通常包括大括號的位置,變量名和函數名,行的長度,縮進,格式和注釋。
4 是否存在多余的或是重復的代碼?(應該抽取)
5 代碼是否盡可能的模塊化了?
6 是否有可以被替換的全局變量?
7 是否有被注釋掉的代碼?
8 循環是否設置了長度和正確的終止條件?
9 是否有可以被庫函數替代的代碼?
10 是否有可以刪除的日志或調試代碼?
安全 1 所有的數據輸入是否都進行了檢查(檢測正確的類型,長度,格式和范圍)并且進行了編碼?
2 在哪里使用了第三方工具,返回的錯誤是否被捕獲?
3 輸出的值是否進行了檢查并且編碼?
4 無效的參數值是否能夠處理?
文檔 1 是否有注釋,并且描述了代碼的意圖?
2 所有的函數都有注釋嗎?
3 對非常規行為和邊界情況處理是否有描述?
4 優先使用工業化的第三方庫,衡量標準經過了大量的時間及完整文檔,還有專人或組織維護
5 重要的數據結構和計量單位需要進行解釋
6 是否有未完成的代碼?如果是的話,是不是應該移除,或者用合適的標記進行標記比如'TODO'

四、代碼評審的方式

4.1 針對線上和線下評審的基本原則:

1、when(什么時候提交): 子任務開發完成, 由代碼提交者發起。

2、who(誰參與): 

a) 參與人主講人,評審者,如果是線下評審需要有一名記錄者,以提升整體評審,問題記錄效率;

b) 提交給誰:

1、向團隊中經驗豐富的程序員提交 CR,以便于獲得更加高水平的代碼設計反饋;

2、大團隊劃分小組,小組內進行交叉CR

3、what(提交內容說明): 在提交評審的時候,需要附上一定的說明,闡述清楚這些代碼主要實現邏輯(如果太大可以附上技術設計的鏈接和需求文檔鏈接),主要核心邏輯在哪些文件中,這樣 reviwer 在評審代碼的時候可以有的放矢。4、others (其他): 

1、在迭代總結前:針對CR提出的問題需要進行總結,沉淀。 (問題沉淀模版,盡量減少大家總結時間)

4.2 線上評審

      單人評審:gitlab上提交給reviewer進行在線評審

      線上評審一般是主要的代碼 CR 方式,但是在提交評審的時候還是要遵循一定的原則,以便于提高代碼評審的效率。

     每次提交 CR 的代碼不能超過200行,如果超過400行則需要轉線下評審(建議前期子任務盡量拆分的比較合理,如果每次評審的時候一下子推給別人幾千行代碼,估計對應的 reviwer 看都不想看,很難保證 review 的質量);

4.3 線下評審

 線下評審的基礎條件:涉及多個依賴模塊或者CR 代碼行超過400行

1、where: 由主講人預定線下會議(或者騰訊會議室),邀請必須參與的角色。

2、Time: 時間不超過2個小時

五、評估機制

 
指標名稱
計算公式
說明
1 單個有效評論成本 CR投入工時/CR數

CR投入工時數據獲取可能不會太準確,尤其是線上評審部分

線下部分可以通過每次評審記錄表進行收集反饋,并上傳到Jira

2 有效問題數 提交有效的CR評論數 如果確定有效的CR數?確定要解決的CR數屬于有效CR數?
3 CR消耗工時 CR結束時間-CR開始時間 代表投入成本
4 有效CR率 有效的CR評論數/總的CR評論數 總的CR評論數,可以通過api 接口獲取
5 大提交占比 單次提交超過200行代碼CR數/總CR數  
6 自評占比 自評CR數/總CR數  
7 人員參與度 參與CR的人數/總人數  
8 問題漏出率 1- CR召回的問題數/CR可召回的問題數  

六、獎勵機制

  1. 每個迭代總結選出1-3名CR中提出高質量問題的同學。
  2. 每個迭代總結選出1-3名參與CR 次數最多的同學。

 

0條評論
0 / 1000
姜****華
4文章數
1粉絲數
姜****華
4 文章 | 1 粉絲
姜****華
4文章數
1粉絲數
姜****華
4 文章 | 1 粉絲
原創

淺談CodeReview

2023-07-27 05:47:54
10
0

一、CodeReview意義

  1. 提升團隊代碼設計水平
  2. 確保代碼設計和實現一致(前提需要有技術設計一環)
  3. 厘清業務邏輯細節,尤其是涉及多條業務線的情況

二、CodeReview問題

2.1 對于提交代碼的同學:

1、不清楚提交代碼 CR 的范圍?

2、不清楚需要給哪些人提交代碼 CR?

3、怎樣才能讓別人認真評審代碼?

2.2 對于參與評審代碼的同學:

1、不清楚需要 CR 代碼的業務上下文是怎樣的,不容易判斷代碼結構設計的合理性;

2、一下子提交幾千行代碼,哪些代碼是 CR 的重點內容,哪些不是;

三、代碼編寫規范

1. Java: 參考阿里編碼規范

2.代碼審核清單:

常規項 1 代碼能夠工作么?它有沒有實現預期的功能,邏輯是否正確等。
2 所有的代碼是否簡單易懂?
3 代碼符合你所遵循的編程規范么?這通常包括大括號的位置,變量名和函數名,行的長度,縮進,格式和注釋。
4 是否存在多余的或是重復的代碼?(應該抽取)
5 代碼是否盡可能的模塊化了?
6 是否有可以被替換的全局變量?
7 是否有被注釋掉的代碼?
8 循環是否設置了長度和正確的終止條件?
9 是否有可以被庫函數替代的代碼?
10 是否有可以刪除的日志或調試代碼?
安全 1 所有的數據輸入是否都進行了檢查(檢測正確的類型,長度,格式和范圍)并且進行了編碼?
2 在哪里使用了第三方工具,返回的錯誤是否被捕獲?
3 輸出的值是否進行了檢查并且編碼?
4 無效的參數值是否能夠處理?
文檔 1 是否有注釋,并且描述了代碼的意圖?
2 所有的函數都有注釋嗎?
3 對非常規行為和邊界情況處理是否有描述?
4 優先使用工業化的第三方庫,衡量標準經過了大量的時間及完整文檔,還有專人或組織維護
5 重要的數據結構和計量單位需要進行解釋
6 是否有未完成的代碼?如果是的話,是不是應該移除,或者用合適的標記進行標記比如'TODO'

四、代碼評審的方式

4.1 針對線上和線下評審的基本原則:

1、when(什么時候提交): 子任務開發完成, 由代碼提交者發起。

2、who(誰參與): 

a) 參與人主講人,評審者,如果是線下評審需要有一名記錄者,以提升整體評審,問題記錄效率;

b) 提交給誰:

1、向團隊中經驗豐富的程序員提交 CR,以便于獲得更加高水平的代碼設計反饋;

2、大團隊劃分小組,小組內進行交叉CR

3、what(提交內容說明): 在提交評審的時候,需要附上一定的說明,闡述清楚這些代碼主要實現邏輯(如果太大可以附上技術設計的鏈接和需求文檔鏈接),主要核心邏輯在哪些文件中,這樣 reviwer 在評審代碼的時候可以有的放矢。4、others (其他): 

1、在迭代總結前:針對CR提出的問題需要進行總結,沉淀。 (問題沉淀模版,盡量減少大家總結時間)

4.2 線上評審

      單人評審:gitlab上提交給reviewer進行在線評審

      線上評審一般是主要的代碼 CR 方式,但是在提交評審的時候還是要遵循一定的原則,以便于提高代碼評審的效率。

     每次提交 CR 的代碼不能超過200行,如果超過400行則需要轉線下評審(建議前期子任務盡量拆分的比較合理,如果每次評審的時候一下子推給別人幾千行代碼,估計對應的 reviwer 看都不想看,很難保證 review 的質量);

4.3 線下評審

 線下評審的基礎條件:涉及多個依賴模塊或者CR 代碼行超過400行

1、where: 由主講人預定線下會議(或者騰訊會議室),邀請必須參與的角色。

2、Time: 時間不超過2個小時

五、評估機制

 
指標名稱
計算公式
說明
1 單個有效評論成本 CR投入工時/CR數

CR投入工時數據獲取可能不會太準確,尤其是線上評審部分

線下部分可以通過每次評審記錄表進行收集反饋,并上傳到Jira

2 有效問題數 提交有效的CR評論數 如果確定有效的CR數?確定要解決的CR數屬于有效CR數?
3 CR消耗工時 CR結束時間-CR開始時間 代表投入成本
4 有效CR率 有效的CR評論數/總的CR評論數 總的CR評論數,可以通過api 接口獲取
5 大提交占比 單次提交超過200行代碼CR數/總CR數  
6 自評占比 自評CR數/總CR數  
7 人員參與度 參與CR的人數/總人數  
8 問題漏出率 1- CR召回的問題數/CR可召回的問題數  

六、獎勵機制

  1. 每個迭代總結選出1-3名CR中提出高質量問題的同學。
  2. 每個迭代總結選出1-3名參與CR 次數最多的同學。

 

文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0