談code diff


為什么要進行code diff

   QA參與 code  diff是需要有代碼基礎的,最低要求需要能看懂代碼邏輯發現錯誤。有些公司有硬性要求必須code diff,所以有的QA同學會被項目流程規范着去參與code diff,但在不清楚code diff目的的情況下,可能產出達不到預期。

  如果QA同學負責發布,那就需要整理發布步驟,如果發布的工程之間有依賴關系,你如何確定依賴關系,來確定發布順序呢?有的可能回答說聽開發的,開發說的真的就是正確的嗎?code diff產出其一就是梳理出依賴關系,給出正確的發布步驟。比如本次新增接口,通過code diff可以很清楚的知道哪個系統是服務提供方,哪個系統是服務調用方,這樣就很容易梳理出先發哪個系統了。梳理出正確的發布步驟是code diff產出之一。

  空指針引起的線上問題,大家是不是也遇到過呢,是不是很苦惱呢?sonar檢查會幫我們消滅一部分空指針,但是有些空指針是sonar檢查不出來的。這時候就需要我們通過code diff環節,來發現。變量使用前需要考慮是否會出現null。發現空指針也是我們code diff的產出之一。

  有的開發工程師喜歡“買一送一”,產品經理的提出的功能,在基礎上自主提供一個功能。這個功能你有可能在功能測試階段是發現不了的。通過code diff講解代碼邏輯,就可以很輕松的發現對應代碼的功能是否本次需求中需要的功能。本次代碼是否都是為了實現本次需求功能,是否有多余的代碼,也是code diff產出之一。

  code diff還有一個特別重要的產出就是新增測試點。在code diff過程中你會梳理出未驗證到的點,這個時候你就需要補充你的測試用例。及時發現遺漏的測試用例,也是code diff 產出之一。

  能力強一些的QA還能提前發現代碼結構設計不合理的地方,可以盡早的進行優化;一些初始值設置的不合理,比如並發線程池線程數初始化的值設置,最大線程數的設置等;比如redis設置值及有效期的原子操作;這些通過功能測試很難發現問題,但是在code diff環節就可以很容易發現。這也是code diff很重要的產出之一。

  有的公司有代碼規范,如果公司順便提供對應的代碼檢查插件就可以省時省力,如果沒有提供對應的工具插件,就需要在code diff的時候查看開發工程師的代碼是否符合公司規范,這些都是需要從代碼層面來看的。

  ……

 

 

 

與其相關的文章:

code diff在項目哪個環節合適

后續文章會討論:

如何code diff

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM