溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

敏捷軟件開發(fā)實踐-Code Review Process

發(fā)布時間:2020-05-17 12:33:37 來源:網(wǎng)絡(luò) 閱讀:836 作者:charles_wang888 欄目:軟件技術(shù)

介紹:


在敏捷軟件開發(fā)中,從代碼的產(chǎn)生速度上來看,要比傳統(tǒng)Waterfall產(chǎn)生速度高很多。因為我們把時間安排的更加緊湊了。那么這么多的代碼,如何能保證這些代碼質(zhì)量呢?很多人可能直接想到靜態(tài)代碼檢測工具。沒錯,那些是可以定義一個代碼檢查規(guī)則來確保代碼的質(zhì)量,但是那個僅僅是從語言角度,那么邏輯是否已經(jīng)最優(yōu)化了?可重用性是否已經(jīng)優(yōu)化到極致了?這些是靜態(tài)代碼工具不能完成的,所以我們需要Code Review


實現(xiàn)方式:


對于已經(jīng)在項目組很久的人來說:

雖然傳統(tǒng)的code review就是把代碼從倉庫checkout出來,然后看下,但是對于大項目來說,那樣的代碼審查沒有任何的效果,因為你除了看到代碼還是代碼,就像你在大海中看到的除了水就是天,很快就會迷失方向的。我們團(tuán)隊的經(jīng)驗,一般是采用crucible工具來進(jìn)行代碼審查,這個工具我以前博客已經(jīng)有過介紹了:http://supercharles888.blog.51cto.com/609344/1229660

因為我們代碼提交每次都有產(chǎn)生一個uuid,而我們提交更多是以子功能為單位,所以我們在crucible中也以提交為單位創(chuàng)建事件,可以很明確的知道對于具體某個功能,其實現(xiàn)的效果如何。

具體流程如下:

敏捷軟件開發(fā)實踐-Code Review Process


代碼我們也采用了傳統(tǒng)的peer review,因為自己看自己代碼很難看出問題,但是用批判的眼光看別人的代碼就很容易看出問題,所以我們結(jié)對的進(jìn)行code review, 前端的人相互review,后端的人相互review.


對于剛來項目組的人:

剛來項目組的人,因為對業(yè)務(wù)邏輯不熟悉,直接讓他去以提交為單位進(jìn)行審查代碼是沒有任何意義的,他們最重要的是熟悉代碼從而可以很快的上手項目,這時候,我就不主張他們用code review工具了,而是直接把代碼全部簽下來整體看,我的經(jīng)驗是:用調(diào)試模式啟動服務(wù)器,然后在關(guān)鍵的行打上斷點(后端代碼斷點),然后在前端你用Firefox 打開,開啟FireBug,在關(guān)鍵js文件相應(yīng)行也打上斷點(前端代碼斷點),然后完全用單步走的方式,一步步走過來,同時watch關(guān)鍵的變量的值的變化,這樣走一遍雖然很慢,但是你會對代碼邏輯流程非常熟悉而且印象深刻。而且一個項目來說,雖然代碼很多,但是關(guān)鍵流程并不多(判斷依據(jù)就是這些流程是否最后要做Regression,如果要做Regression,那么就算關(guān)鍵流程),如果把握了關(guān)鍵流程,就是等于抓住了主要矛盾。這是最好的上手項目的習(xí)慣。按照我們團(tuán)隊的經(jīng)驗,一般一個senior engineer水平,2-3天就能上手項目并且開始接任務(wù)做了。


總結(jié):

(1)對于項目組的老人來說,用代碼審查工具來code review,從而可以從功能模塊角度審查代碼的實現(xiàn)

(2)對于新來項目組的成員來說,用調(diào)試模式單步走的策略,只抓住核心流程,從而以最快的速度把握項目核心流程。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI