日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

高效代码审查:来自前质疑者的9个建议

發(fā)布時(shí)間:2025/7/14 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高效代码审查:来自前质疑者的9个建议 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)自:http://www.iteye.com/news/30235

理論我知道。代碼審查(Code Review)有助于:?

  • 抓bug
  • 保證代碼的可讀性,可維護(hù)性
  • 在團(tuán)隊(duì)中散播代碼的知識(shí)
  • 讓新人適應(yīng)團(tuán)隊(duì)的工作方式
  • 讓大家接觸不同的思路

或者按另一種看法,代碼審查就是極大的浪費(fèi)時(shí)間。至少我對(duì)代碼審查的最初感受就是這樣。?

當(dāng)時(shí)我是新人,剛畢業(yè),在倫敦一家軟件公司開(kāi)發(fā)插件。?

隨著時(shí)間推移,我得提交大量樣子都差不多或干脆一樣的代碼。另一個(gè)可憐的家伙(“他是最好的。”我的經(jīng)理告訴我。好在哪兒啊……)會(huì)來(lái)Review我的代碼。而每次審查之后都會(huì)返回不一樣的結(jié)果。看起來(lái)都是全無(wú)必要的挑剔又主觀的結(jié)果。?

更糟的是,審查過(guò)程的時(shí)間,哪怕沒(méi)有幾周,也得有好幾天。等代碼返回給我的時(shí)候,我?guī)缀醵加洸坏媚鞘俏覍懙摹_@不是那個(gè)家伙的錯(cuò)。他肯定也想要個(gè)更有經(jīng)驗(yàn)的開(kāi)發(fā)者,不過(guò)他分到了我。他厭倦了處理每個(gè)沒(méi)經(jīng)驗(yàn)的開(kāi)發(fā)者搞出的那些低級(jí)問(wèn)題,代碼審查過(guò)程變成了他祛除沮喪情緒的方式。?

再加上這些浪費(fèi)的時(shí)間:不同分支的代碼同步,上下文切換……我不是代碼審查的粉兒,團(tuán)隊(duì)其他人也一樣。?

幾年之后,我發(fā)現(xiàn)我很同意Jeff Atwood所發(fā)表的推特:?

引用 “結(jié)對(duì)代碼審查是你能改進(jìn)代碼質(zhì)量的唯一要事。”

經(jīng)過(guò)這幾年的時(shí)間我開(kāi)始贊同代碼審查,是因?yàn)槲野l(fā)現(xiàn)了代碼審查并不是壞事,代碼審查執(zhí)行不好才是壞事。伙計(jì),我們就執(zhí)行的很不好。?

我付出了慘痛代價(jià)才意識(shí)到這一點(diǎn)。當(dāng)然不是一夜之間的轉(zhuǎn)變。反思之后,代碼審查把我從尷尬的,足以破壞構(gòu)建的代碼修改中拯救出來(lái)不少回。而自從我在其他地方工作后,我積累了一些和以前不同的、更好的工作方式的經(jīng)驗(yàn)。這給了我機(jī)會(huì),讓我能切身體會(huì)到我以前曾錯(cuò)過(guò)的代碼審查的好處。所以現(xiàn)在我認(rèn)為自己是一個(gè)皈依了的質(zhì)疑者。?

為了你能避免這些痛苦,看看我們的視頻,讀完這些建議,這樣就能帶給你更有效的代碼審查過(guò)程。?
一、寫給所有人的: ?

1.只審查正確的東西,讓工具干別的 ?

你不需要在代碼風(fēng)格和格式問(wèn)題上與人爭(zhēng)論。有大量的工具可以持續(xù)地強(qiáng)調(diào)這些內(nèi)容。確保代碼正確、易于理解和可維護(hù)性強(qiáng)才是重要的。當(dāng)然了,編碼風(fēng)格和格式也是這些的一部分,只是你更應(yīng)該讓工具去檢查。?

2.所有人都該做代碼審查 ?

一些人比另一些人更擅長(zhǎng)審查。更有經(jīng)驗(yàn)的人可以發(fā)現(xiàn)更多的bug,這很重要。不過(guò)更重要的是在總體上維持一個(gè)針對(duì)代碼審查的積極態(tài)度,也就是說(shuō)要避免任何“我們和他們”的對(duì)抗態(tài)度,或者是讓代碼審查成為某個(gè)人的負(fù)擔(dān)。?

3.審查所有的代碼 ?

沒(méi)有代碼是因?yàn)樘袒蛘咛?jiǎn)單而不值得審查。當(dāng)你審查一切,就沒(méi)有什么會(huì)漏掉。另外這樣做會(huì)成為流程的一部分,成為一種習(xí)慣,而不總是事后諸葛。?

4.態(tài)度積極 ?

這一點(diǎn)對(duì)審查者和提交者都很重要。代碼審查不是你要拿全A,發(fā)動(dòng)代碼神技的時(shí)候,也不是你需要擺出防御姿態(tài)的時(shí)候。帶著對(duì)建設(shè)性批評(píng)的積極態(tài)度投入進(jìn)去,你就可以在此過(guò)程中收獲信任。?
二、寫給對(duì)審查者的: ?

5.代碼審查應(yīng)該短期高頻 ?

你的審查效率在一個(gè)小時(shí)后開(kāi)始下降。所以推遲審查共走,然后在一個(gè)極限的周期內(nèi)趕完對(duì)誰(shuí)也沒(méi)用。在你的一天中留出時(shí)間來(lái)定期處理,別打亂自己的工作節(jié)奏并養(yǎng)成習(xí)慣。你的同事會(huì)為此而感謝你。等待會(huì)讓人沮喪。而且當(dāng)代碼還新鮮的保存在他們腦海里時(shí),他們解決問(wèn)題也會(huì)快一些。?

6.It’s OK to say “It’s all good” |“都挺好”挺好 ?

別太挑剔了,你不是一定要每次審查都發(fā)現(xiàn)問(wèn)題。?

7.使用一個(gè)清單 ?

代碼審查清單 確保一致性——每個(gè)人都了解哪些是重要的,哪些是常見(jiàn)錯(cuò)誤。?
三、寫給代碼提交者的 ?
8.保證代碼簡(jiǎn)短 ?

超過(guò)200行,審查效率就會(huì)顯著下降。一旦你超過(guò)400行,那基本就沒(méi)什么意義了。?

9.提供上下文 ?

要提供相關(guān)的單子,或者規(guī)格說(shuō)明的鏈接。像Kiln這樣的代碼審查工具可以提供幫助。應(yīng)提供簡(jiǎn)短而有用的提交信息,在代碼中留下大量注釋。這會(huì)幫助審查者,你得到的問(wèn)題反饋也會(huì)少一些。

總結(jié)

以上是生活随笔為你收集整理的高效代码审查:来自前质疑者的9个建议的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。