我的家園

          我的家園

          ?

          據(jù)調(diào)查顯示,代碼審查工作有助于提高軟件開(kāi)發(fā)質(zhì)量,然而許多開(kāi)發(fā)者卻不愿意在他們的團(tuán)隊(duì)中實(shí)施代碼審查工作,本文主要分析了開(kāi)發(fā)者為什么會(huì)抵制代碼審查工作的原因以及為什么他們會(huì)有此想法,目的是為了引導(dǎo)開(kāi)發(fā)者加入代碼審查工作。

          代碼審查究竟是什么樣的工作呢?通常情況下它是指否決質(zhì)量的一種過(guò)程。大量統(tǒng)計(jì)數(shù)據(jù)表明代碼審查極大的提高了軟件質(zhì)量以及降低了技術(shù)風(fēng)險(xiǎn),不僅如此,它還降低了開(kāi)發(fā)成本。

          一起來(lái)看下代碼審查工作所帶來(lái)的好處:

          如圖所示,代碼審查工作帶來(lái)這么多的益處,那為什么還有一些開(kāi)發(fā)團(tuán)隊(duì)拒絕這一做法呢?我們一起來(lái)分析下原因:

          文化問(wèn)題或許已成為一種巨大的障礙,大部分開(kāi)發(fā)者會(huì)厭惡代碼審查是因?yàn)樗麄儫o(wú)法忘記那些痛苦的審查會(huì)議,更槽糕的是,他們害怕因劣質(zhì)代碼而遭到管理 者的批評(píng)與指責(zé)(這個(gè)通常是管理者自身的原因,而不是壞代碼)。代碼審查工作有助于提升團(tuán)隊(duì)自身能力,我們應(yīng)該持積極態(tài)度,而不是為了找機(jī)會(huì)來(lái)貶低同伴。

          另一種可能性,當(dāng)大家相互協(xié)作、積極互動(dòng)時(shí),管理者會(huì)誤認(rèn)為大家在“聊天”。敏捷性團(tuán)隊(duì)已經(jīng)意識(shí)到快速創(chuàng)建軟件工作需要積極的互動(dòng)與協(xié)作。他們認(rèn)為堅(jiān)持代碼審查工作,是通向成功的秘訣。

          第三種可能性誤解,開(kāi)發(fā)者利用靜態(tài)分析工具來(lái)查找bug,以致代碼審查工作成為不必要性。然而事實(shí)并非如此,Capers Jones,一位軟件質(zhì)量度量領(lǐng)域的巨人,曾發(fā)表過(guò)一篇文章“結(jié)合視察、靜態(tài)分析和測(cè)試能消除影響效率缺陷的95%”,這種三叉戟式的方法最能確保軟件質(zhì)量。

          靜態(tài)分析只是其中的一個(gè)分叉。

          靜態(tài)分析工具有著很大的局限性,包括無(wú)法辨認(rèn)出一些疑似代碼,比如,靜態(tài)分析工具不具備標(biāo)記功能,因?yàn)樗鼰o(wú)法確定一個(gè)函數(shù)名為getRandomNumber是否應(yīng)該總返回相同的值(with a hat tip toXKCD)。

          1
          2
          3
          4
          5
          Int?getRandomNumber()
          ?{<
          ?return?4;?//chosen?by?fair?dice?roll.
          ?//guaranteed?to?be?random
          ?}

          也許代碼審查最大障礙是恐懼。開(kāi)發(fā)者擔(dān)心錯(cuò)過(guò)最后期限,害怕分心,害怕投入過(guò)多時(shí)間。要知道,這些都是愚蠢的想法,代碼審查的目的是在前端開(kāi)發(fā)過(guò)程中最大限度的提高代碼質(zhì)量以及幫助你縮短開(kāi)發(fā)周期。

          最后,我認(rèn)為,調(diào)用一個(gè)進(jìn)程(代碼審查工作)能夠促進(jìn)團(tuán)隊(duì)合作,提供指導(dǎo)且有助于技能的發(fā)展,鼓勵(lì)開(kāi)發(fā)者熟悉代碼的基礎(chǔ)部分,最終可達(dá)到提高整個(gè)軟 件質(zhì)量。當(dāng)然,如果您想快速輸入代碼,可以考慮一些代碼審查工具,前提是,你要確保該工具是輕量級(jí)并且有趣。一旦你習(xí)慣了使用該工具便有了依賴性(許多使 用代碼審工具用戶都這么認(rèn)為)“我們無(wú)法想象沒(méi)有編碼工具的日子”,我想你會(huì)發(fā)現(xiàn)它們的價(jià)值所在。

          無(wú)論如何,請(qǐng)記住,拒絕代碼審查是不可取的。

          英文出自:softwarequalityconnection

          ?

          轉(zhuǎn)載自 伯樂(lè)在線?http://blog.jobbole.com/16416/



          已有 0 人發(fā)表留言,猛擊->>這里<<-參與討論


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 惠东县| 资溪县| 鹿邑县| 延吉市| 古田县| 灵川县| 都兰县| 内黄县| 张家界市| 额济纳旗| 东海县| 东兰县| 水城县| 阳泉市| 专栏| 漾濞| 沁水县| 南宫市| 察雅县| 邵阳市| 莆田市| 同德县| 达州市| 栾川县| 邓州市| 固阳县| 岳普湖县| 广元市| 锦州市| 山丹县| 岱山县| 合阳县| 呼伦贝尔市| 东乌珠穆沁旗| 静海县| 泗洪县| 大田县| 禹州市| 渑池县| 临清市| 保山市|