成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【博文推薦】如何提高團(tuán)隊(duì)代碼質(zhì)量——代碼審查的實(shí)踐

開發(fā) 項(xiàng)目管理 后端
最近看了一些文章,發(fā)現(xiàn)敏捷開發(fā)的一些理念越來越多的團(tuán)隊(duì)在實(shí)踐,也覺得敏捷不再像最早提出的時(shí)候那么虛,有很多體現(xiàn)這個(gè)理念的工具涌現(xiàn)。其中,“如何提高代碼質(zhì)量”的討論一直很多,敏捷開發(fā)中也有好多種提案,最廣為人知、但也最不靠譜的應(yīng)該就是結(jié)對編程了,只要沒被敏捷洗腦的人都清楚知道這個(gè)基本沒有實(shí)際可操作性,然而這個(gè)做法體現(xiàn)的觀點(diǎn)是多個(gè)人互相監(jiān)督可以把事情做的更好,這反而是完全沒有問題的。
  本博文出自51CTO博客畢成功博主,有任何問題請進(jìn)入博主頁面互動(dòng)討論!
博文地址:http://passover.blog.51cto.com/2431658/1642176

為什么需要代碼審查

最近看了一些文章,發(fā)現(xiàn)敏捷開發(fā)的一些理念越來越多的團(tuán)隊(duì)在實(shí)踐,也覺得敏捷不再像最早提出的時(shí)候那么虛,有很多體現(xiàn)這個(gè)理念的工具涌現(xiàn)。其中,“如何提高代碼質(zhì)量”的討論一直很多,敏捷開發(fā)中也有好多種提案,最廣為人知、但也最不靠譜的應(yīng)該就是結(jié)對編程了,只要沒被敏捷洗腦的人都清楚知道這個(gè)基本沒有實(shí)際可操作性,然而這個(gè)做法體現(xiàn)的觀點(diǎn)是多個(gè)人互相監(jiān)督可以把事情做的更好,這反而是完全沒有問題的。所以還有一種方式就是代碼審查了,把兩人同時(shí)寫代碼改成在不同的時(shí)間上一個(gè)人寫、另外一個(gè)人看。這個(gè)實(shí)際開發(fā)中是完全可以做到的,只是要留有審查的時(shí)間即可。

【博文推薦】如何提高團(tuán)隊(duì)代碼質(zhì)量——代碼審查的實(shí)踐

復(fù)查團(tuán)隊(duì)成員的代碼自己一直也是無意識的在做,經(jīng)常去看git log,但是這個(gè)方式效率真的很低,也沒有嚴(yán)格的規(guī)定,所以做的也比較隨意。恰巧最近看到一個(gè)論調(diào),“越牛逼的團(tuán)隊(duì),對于代碼審查的態(tài)度越嚴(yán)謹(jǐn)”,頓時(shí)引發(fā)共鳴,長久以來在心里一直有一種這樣去檢查代碼的方式是不行的感覺,但是一直也沒找到合適的方式,而這次再聯(lián)想到代碼審查感覺如獲至寶,怎么一直都把它給忘了呢?!

如果你對代碼審查能帶來什么好處有疑問的話,請仔細(xì)閱讀Phabricator官網(wǎng)的這篇文章。

代碼審查的方式

代碼審查主要有兩種方式:

1. pre-push:在提交合并代碼之前,先進(jìn)行審查,通過和才能合并。這是一種非常嚴(yán)格的審查方式,可以確保每個(gè)發(fā)布的代碼都是已經(jīng)被審查過的。這種放到在github上維護(hù)的開源項(xiàng)目極其合適,代碼的所有者可以確保代碼是在自己的控制范圍。

2. post-push:代碼提交后,再審查之前的代碼。這是非常寬松的審查方式,審查的效果肯定是打折扣的,但是好處是可以忽略一些不必要的審查以節(jié)約時(shí)間。其實(shí)在國內(nèi)這種沒有太多工程師文化的地方,這種方式是比較好在早期推行的。

代碼審查的工具

這個(gè)事情在團(tuán)隊(duì)中實(shí)行的話,是一定需要有個(gè)工具的,相關(guān)的工具有很多,審查方式也各有偏重。這里工具主要是解決了這幾個(gè)問題:

1. 有一個(gè)更為直觀的界面查看diff。

2. 可以基于工具進(jìn)行簡單的標(biāo)記和通知,直接把標(biāo)記寫在代碼里更利于溝通。

3. 可以知道哪些提交時(shí)已經(jīng)被誰審查過了,方便審查的協(xié)作。

之前在sf寫過一篇問答可以參考。這里再例舉一些,供參考選擇。

1. Gerrit:google的產(chǎn)品,名氣很大,但是這個(gè)東西設(shè)計(jì)理念比較陳舊,據(jù)說也沒有什么維護(hù)了,不推薦。

2. github pull request:這個(gè)當(dāng)然很好,典型的pre-push方式,但是個(gè)人用也沒太多協(xié)同的事情,團(tuán)隊(duì)用又覺得貴。其實(shí)感覺用bitbucket會(huì)經(jīng)濟(jì)實(shí)用些。

3. phabricator:facebook內(nèi)部使用并開源出來的工具,功能超級強(qiáng)大,但相對的就是非常復(fù)雜,界面設(shè)計(jì)非常歐美的風(fēng)格,運(yùn)行速度也有點(diǎn)慢。東西還是很牛逼的,看你是不是喜歡了。

4. gitlab:如果是自己搭建的git server,這個(gè)是不錯(cuò)的選擇,相當(dāng)于自己弄了個(gè)github,就是配置環(huán)境會(huì)比較多工作量。

5. upsource:JetBrains的產(chǎn)品,只有post-push的方式,但是從安裝、界面、到使用都是挺不錯(cuò)的,唯一問題就是10個(gè)人以上要收費(fèi),而且還很貴。

我們從中的獲益

選用哪種方式,我覺得因團(tuán)隊(duì)文化、項(xiàng)目背景、效果預(yù)期而定,我們最后暫時(shí)選用的是upsource,目標(biāo)是先在團(tuán)隊(duì)中把代碼審查施行起來。

目前來看效果還可以。有了工具之后大家互相做代碼審查也方便很多,心理抗拒性也沒那么強(qiáng)。其實(shí)只要進(jìn)度不那么催,研發(fā)人員還是比較愿意去做這種事情的。審查過程中目前發(fā)現(xiàn)了一些代碼中的問題,但是現(xiàn)在還不多,我想只要能在出現(xiàn)bug之前能解決掉一些問題,就已經(jīng)有很大價(jià)值了。

責(zé)任編輯:王雪燕 來源: 51CTO
相關(guān)推薦

2023-01-06 18:31:46

準(zhǔn)確命名

2022-08-04 09:01:45

TypeScriptMicrosoft

2012-08-09 09:10:56

代碼審查代碼

2012-11-07 09:48:26

2016-02-23 11:03:03

代碼質(zhì)量編寫函數(shù)

2016-02-24 16:03:34

代碼質(zhì)量編寫函數(shù)

2014-10-29 13:52:38

程序員

2023-03-16 08:01:56

TypeScript開源編程語言

2021-08-12 07:49:25

IDEA代碼軟件

2020-08-12 07:00:00

開發(fā)代碼技術(shù)

2012-11-02 14:37:58

代碼編程語言

2009-06-03 15:31:40

Eclipse插件提高代碼質(zhì)量

2012-04-09 15:40:31

PHP

2017-06-28 16:18:22

編程程序員開發(fā)

2013-02-27 10:11:06

代碼審查ThoughtBot

2021-05-07 09:00:00

JavaScript開發(fā)代碼

2012-07-30 13:15:18

代碼

2015-07-15 10:27:48

Android代碼質(zhì)量工具

2015-01-29 09:52:43

Swift 開源蘋果

2015-08-11 09:39:25

重構(gòu)提高代碼質(zhì)量
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 色偷偷噜噜噜亚洲男人 | 日韩av在线中文字幕 | 亚洲成人播放器 | 欧美一级毛片在线播放 | 伦理二区 | 日本二区在线观看 | 日本高清不卡视频 | 欧美日韩视频 | 国产欧美一区二区三区在线播放 | 国产色 | 欧美精品综合在线 | 91久久国产综合久久91精品网站 | 免费国产一区二区 | 精品国产黄色片 | 国产成人综合在线 | 精品视频一区二区三区 | 国产亚洲一区二区三区 | 成人免费视频网站在线看 | 天天操伊人 | 久久久久久久国产精品视频 | 亚洲欧美日韩精品 | 成人免费网站www网站高清 | 成人影院av| 欧美国产视频 | 久久久久久久香蕉 | 日韩欧美理论片 | 国产精品1区2区 | 九九伊人sl水蜜桃色推荐 | 国产超碰人人爽人人做人人爱 | 日本免费小视频 | 天堂一区在线观看 | 国产一区久久久 | 午夜私人影院 | 成人3d动漫一区二区三区91 | 亚洲视频在线观看 | 日韩欧美在线视频 | 国产伊人精品 | 我想看一级黄色毛片 | 成人做爰9片免费看网站 | 久久国产一区 | 成人网av|