天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

谷歌是如何做代碼審查的

  英文原文: Things Everyone Should Do: Code Review

  在上一篇文章中提到過,我已經不在Google工作了。我還沒有想清楚應該去哪里,有兩三個非常好的工作機會擺在我面前。因為在這段做決定的時間里,我不再受雇于任何人,我想可以寫一些專業性的東西,一些很有趣,但也會在同事和管理工作中導致關系緊張的東西。

本文的作者Mark CC

  Google是一個非常優秀的公司。他們做出了很多令人稱贊的東西,不僅僅是存在于公司外部,人們可以看到的東西,公司內部也有。有一些在公司內部并不屬于保密的事情,在外部并沒有給予足夠廣泛的討論。這就是我今天要說的。

  讓Google的程序如此優秀的一個最重要的事情看起來是非常的簡單:代碼審查。并不是只有Google做這個事情,代碼審查已經被廣泛的認可為一種非常好的做法,很多人都在這樣做。但我還沒有看到第二家這樣大的公司能把這種事情運用的如此普遍。在Google,沒有程序,任何產品、任何項目的程序代碼,可以在沒有經過有效的代碼審查前提交到代碼庫里的。

  所有人都要經過代碼審查。并且很正規的:這種事情應該成為任何重要的軟件開發工作中一個基本制度。并不單指產品程序。它不需要很多的工作,但它的效果是巨大的。

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

  很顯然:在代碼提交前,用第二雙眼睛檢查一遍,防止bug混入。這是對其最常見的理解,是對代碼審查的好處的最廣泛的認識。但是,依我的經驗來看,這反倒是它最不重要的一點。人們確實在代碼審查中找到了bug。可是,這些在代碼審查中能發現的絕大部分bug,很顯然,都是微不足道的bug,程序的作者花幾分鐘的時間就能發現它們。真正需要花時間去發現的bug不是在代碼審查里能找到的。

  代碼審查的最大的功用是純社會性的。如果你在編程,而且知道將會有同事檢查你的代碼,你編程態度就完全不一樣了。你寫出的代碼將更加整潔,有更好的注釋,更好的程序結構,因為你知道,那個你很在意的人將會查看你的程序。沒有代碼審查,你知道人們最終還是會看你的程序。但這種事情不是立即發生的事,它不會給你帶來同等的緊迫感,它不會給你相同的個人評判的那種感受。

  還有一個非常重要的好處。代碼審查能傳播知識。在很多的開發團隊里,經常每一個人負責一個核心模塊,每個人都只關注他自己的那個模塊。除非是同事的模塊影響了自己的程序,他們從不相互交流。這種情況的后果是,每個模塊只有一個人熟悉里面的代碼。如果這個人休假或但愿不是辭職了,其他人則束手無策。通過代碼審查,至少會有兩個人熟悉這些程序作者,以及審查者。審查者并不能像程序的作者一樣對程序十分了解但他會熟悉程序的設計和架構,這是極其重要的。

  當然,沒有什么事情能簡單的做下來的。依我的經驗,在你能正確的進行代碼審查前,你需要花時間鍛煉學習。我發現人們在代碼審查時經常會犯一些錯誤,導致不少麻煩,尤其在一些缺乏經驗的審查者中經常的出現,他們給了人們一個很遭的代碼審查的體驗,成為了人們接受代碼審查制度的一個障礙。

  最重要的一個原則:代碼審查的用意是在代碼提交前找到其中的問題 —— 你要檢查的是代碼的正確性。在代碼審查中最常犯的錯誤幾乎每個新手都會犯的錯誤是,審查者根據自己的編程習慣來評判別人的代碼。

  對于一個問題,通常我們能找出十幾種方法去解決。對于一種解決方案,我們能有百萬種編碼方案來實現它。作為一個審查者,你的任務不是來確保被審查的代碼都采用的是你的編碼風格,因為它不可能跟你寫的一樣。作為一段代碼的審查者的任務是確保由作者自己寫出的代碼是正確的。一旦這個原則被打破,你最終將會倍感折磨,深受挫折這可不是我們想要的結果。

  問題在于,這種錯誤是如此的普遍而易犯。如果你是個程序員,當你遇到一個問題,你能想到一種解決方案,你就把你想到的方案作為標準答案。但事情不是這樣的,作為一個好的審查者,你需要明白這個道理。

  代碼審查的第二個易犯的毛病是,人們覺得有壓力,感覺非要說點什么才好。你知道作者用了大量的時間和精力來實現這些程序不該說點什么嗎?

  不,你不需要。

  只說一句哇,不錯呀,任何時候都不會不合適。如果你總是力圖找出一點什么東西來批評,你這樣做的結果只會損害自己的威望。當你不厭其煩的找出一些東西來,只是為了說些什么,被審查人就會知道,你說這些話只是為了填補寂靜。你的評論將不再被人重視。

  第三是速度。你不能匆匆忙忙的進行一次代碼審查,但你也要能迅速的完成。你的同伴在等你。如果你和你的同事并不想花太多時間進行代碼復查,你們很快的完成,那被審查者會覺得很沮喪,這種代碼審查帶來的只有失望的感覺。就好象是打攪了大家,使大家放下手頭的工作來進行審查。事情不該是這樣。你并不需要推掉手頭上的任何事情來做代碼審查。但是在你做手頭上事情的中途要休息一會,喝杯茶,沖個澡,或談會兒閑話。當你回來時,你可以進行代碼審查。如果你真是這樣,我想沒有人愿意在那干等著你。

it知識庫谷歌是如何做代碼審查的,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 俄罗斯美女性生活 | 古装性艳史电影在线看 | 日产2021免费一二三四区在线 | 久久亚洲国产精品亚洲 | 伊久久 | 99精品亚洲| 国产麻豆精品传媒AV国产在线 | 国产成人久久婷婷精品流白浆 | 北岛玲手机在线观看视频观看 | 欧美成人无码视频午夜福利 | 国产剧情在线精品视频不卡 | 无码国产色欲XXXX视频 | 一本之道高清在线3线观看 一本之道高清视频在线观看 | 我和妽妽在厨房里的激情区二区 | 校花在公车上被内射好舒服 | 阿娇和冠希13分钟在线观看 | 国产人人为我我为人人澡 | 91久久精品国产亚洲 | 亚洲精品嫩草AV在线观看 | 国产精品美女久久久久浪潮AV | 九九国产精品成人AV麻豆 | 久久精品熟女亚洲AV国产 | 色多多污污在线播放免费 | 日韩欧美一区二区三区在线视频 | 伦理片飘花免费影院 | 国产亚洲精品线视频在线 | 亚洲VA天堂VA欧美VA在线 | 被爽到叫呻呤视频免费视频 | 欧美一区二区三区不卡免费 | 中国农民真实bbwbbw | 牛牛在线精品视频(正) | 国产精品一区二区激情 | 蜜桃TV成人网站免费打开 | 狠狠干狠狠色 | 无套暴躁白丝秘书 | 日本免费一本天堂在线 | 日韩欧无码一区二区三区免费不卡 | 乱淫67194| 性色爽爱性色爽爱网站 | 老年日本老年daddy | 超碰人热人人热人人看 |