Google是一個十分優(yōu)良的公司。他們做出了許多令人稱頌的東西既是公司外部,人們能夠看到的東西,也是公司內(nèi)部。有一些在公司內(nèi)部并不屬于保密的事情,在外部并沒有給予足夠普遍的探討。這就是我今天要說的。 讓Google的程序如此優(yōu)秀的一個最重要的事情看" />

在线观看肉片AV网站免费_97在线中文字幕免费公开视频_人妻无码二区自慰系列_高清无码黄色在线网站

谷歌是如何做代碼審查的_成都網(wǎng)絡(luò)公司

時間:2012-11-06 21:47來源:未知 作者:admin 點擊:

標(biāo)簽:谷歌是如何做代碼審查的_成都網(wǎng)絡(luò)公司
--> Google是一個十分優(yōu)良的公司。他們做出了許多令人稱頌的東西既是公司外部,人們能夠看到的東西,也是公司內(nèi)部。有一些在公司內(nèi)部并不屬于保密的事情,在外部并沒有給予足夠普遍的探討。這就是我今天要說的。 讓Google的程序如此優(yōu)秀的一個最重要的事情看
谷歌是如何做代碼審查的_成都網(wǎng)絡(luò)公司》文章地址:http://www.tfxk.com/wangyesheji/jianzhanjingyan/11064332012.htm
--> Google是一個十分優(yōu)良的公司。他們做出了許多令人稱頌的東西—既是公司外部,人們能夠看到的東西,也是公司內(nèi)部。有一些在公司內(nèi)部并不屬于保密的事情,在外部并沒有給予足夠普遍的探討。這就是我今天要說的。

  讓Google的程序如此優(yōu)秀的一個最重要的事情看起來是無比的簡略:代碼審查。并不是只有Google做這個事情—代碼審查已經(jīng)被廣泛的認(rèn)可為一種異常好的做法,很多人都在這樣做。但我還沒有看到第二家這樣大的公司能把這種事情應(yīng)用的如斯廣泛。在Google,沒有程序,任何產(chǎn)品、任何項目標(biāo)程序代碼,可以在沒有經(jīng)過有效的代碼審查條件交到代碼庫里的。

  所有人都要經(jīng)由代碼審查。并且很正規(guī)的:這種事情應(yīng)當(dāng)成為任何重要的軟件開發(fā)工作中一個基礎(chǔ)軌制。并不單指產(chǎn)品程序——所有貨色。它不須要良多的工作,但它的后果是宏大的。

  從代碼審查里能得到什么?

  很顯然:在代碼提交前,用第二群眼睛檢查一遍,避免bug混入。這是對其最常見的懂得,是對代碼審查的利益的最廣泛的意識。然而,依我的教訓(xùn)來看,這反倒是它最不重要的一點。人們確切在代碼審查中找到了bug?墒,這些在代碼審查中能發(fā)現(xiàn)的絕大局部bug,很顯然,都是微不足道的bug,程序的作者花多少分鐘的時間就能發(fā)現(xiàn)它們。真正需要花時間去發(fā)現(xiàn)的bug不是在代碼審查里能找到的。

  代碼審查的最大的功能是純社會性的。假如你在編程,而且知道將會有共事檢討你的代碼,你編程立場就完整不一樣了。你寫出的代碼將更加整齊,有更好的解釋,更好的程序構(gòu)造——由于你曉得,那個你很在意的人將會查看你的程序。不代碼審查,你知道人們終極仍是會看你的程序。但這種事件不是即時產(chǎn)生的事,它不會給你帶來等同的緊急感,它不會給你雷同的個人評判的那種感觸。

  還有一個非常重要的好處。代碼審查能傳布常識。在很多的開發(fā)團(tuán)隊里,常常每一個人負(fù)責(zé)一個中心模塊,每個人都只關(guān)注他自己的那個模塊。除非是同事的模塊影響了自己的程序,他們從不彼此交換。這種情形的成果是,每個模塊只有一個人熟悉里面的代碼。如果這個人休假或——但愿不是——辭職了,其余人則一籌莫展。通過代碼審查,至少會有兩個人熟習(xí)這些程序——作者,以及審查者。審查者并不能像程序的作者一樣對程序非常懂得——但他會熟悉程序的設(shè)計和架構(gòu),這是極其重要的。

  當(dāng)然,沒有什么事情能簡單的做下來的。依我的經(jīng)驗,在你能正確的進(jìn)行代碼審查前,你需要花時間錘煉學(xué)習(xí)。我發(fā)現(xiàn)人們在代碼審查時時常會犯一些錯誤,導(dǎo)致不少麻煩——尤其在一些缺少經(jīng)驗的審查者中常常的呈現(xiàn),他們給了人們一個很遭的代碼審查的休會,成為了人們接收代碼審查制度的一個阻礙。

  最主要的一個準(zhǔn)則:代碼審查用意是在代碼提交前找到其中的問題——你要發(fā)明是它的準(zhǔn)確。在代碼審查中最常犯的過錯——簡直每個新手都會犯的毛病——是,審查者依據(jù)本人的編程習(xí)慣來評判斷人的代碼。

  對于一個問題,通常咱們能找出十幾種方式去解決。對一種解決方案,我們能有百萬種編碼方案來實現(xiàn)它。作為一個審查者,你的義務(wù)不是來確保被審查的代碼都采取的是你的編碼作風(fēng)——因為它不可能跟你寫的一樣。作為一段代碼的審查者的任務(wù)是確保由作者自己寫出的代碼是正確的。一旦這個原則被攻破,你最終將會倍感折磨,深受挫折——這可不是我們想要的結(jié)果。

  問題在于,這種錯誤是如此的普遍而易犯。如果你是個程序員,當(dāng)你碰到一個問題,你能想到一種解決計劃——你就把你想到的方案作為尺度謎底。但事情不是這樣的——作為一個好的審查者,你需要清楚這個情理。

  代碼審查的第二個易犯的弊病是,人們感到有壓力,感到非要說點什么才好。你知道作者用了大批的時光跟精神來實現(xiàn)這些程序——不該說點什么嗎?

  不,你不需要。

  只說一句“哇,不錯呀”,任何時候都不會分歧適。如果你老是力求找出一點什么東西來批駁,你這樣做的成果只會侵害自己的權(quán)威。當(dāng)你不厭其煩的找出一些東西來,只是為了說些什么,被審查人就會知道,你說這些話只是為了彌補安靜。你的評論將不再被人器重。

  第三是速度。你不能促忙忙的進(jìn)行一次代碼審查——但你也要能敏捷的完成。你的錯誤在等你。如果你和你的同事并不想花太多時間進(jìn)行代碼復(fù)查,你們很快的實現(xiàn),那被審查者會認(rèn)為很懊喪,這種代碼審查帶來的只有掃興的感覺。就好象是打擾了大家,使大家放下手頭的工作來進(jìn)行審查。事情不該是這樣。你并不需要推掉手頭上的任何事情來做代碼審查。但如果半途延誤了幾個小時,你旁邊還要休息一會,喝杯茶,沖個澡,或談會兒閑話。當(dāng)你回到審查現(xiàn)場,你可以持續(xù)下去,把事情做完。如果你真是這樣,我想沒有樂意在那干等著你。 相關(guān)的主題文章:
(責(zé)任編輯:網(wǎng)站建設(shè))
谷歌是如何做代碼審查的_成都網(wǎng)絡(luò)公司相關(guān)文章
上一篇:當(dāng)網(wǎng)站沒有盈利時激情過后還剩什么?_ 下一篇:建設(shè)網(wǎng)站中常犯的設(shè)計錯誤匯總_網(wǎng)頁設(shè)計
回到頂部