2008-09-06 111 views
5
  • 誰應該審查?
  • 誰應該進行審查?
  • 應該檢查哪些代碼? (全部 代碼?大變更?等)
  • 審查發生在哪裏? (是否發生在 人?)
  • 什麼時候應該發生評論? (遞增?簽入前?)
  • 爲什麼要檢查代碼?

我對此有一些意見,但我會發表一個答案。誰,什麼時候,什麼地點,爲什麼要codereview?

回答

8

誰應該審查?

將代碼提交到共享存儲庫的每個人。

誰應該進行檢查?

  1. 導師或者高級工程師誰將會尋找出難聞的氣味和錯誤代碼的正確性建築。

  2. 同事或團隊中的同事在代碼的相同區域工作,即如果您正在計算機遊戲中處理3d渲染,則所有其他圖形編程人員都應該查看代碼。

  3. 其他人的模塊接口或依賴於提交的代碼。

應該檢查哪些代碼? (所有的代碼?大的變化?等)

根據我的經驗,所有代碼將由更多的人(這幾乎所有代碼)的工作。

審覈發生在哪裏? (是否必須親自進行?)

評論是互動和實時最有利的。儘管如此,我認爲讓CodeReviewer這樣的系統能夠輕鬆分發差異,以便評審人員可以在他們自己的開發環境中更高效,更舒適地研究變更,然後再進行實際的面對面審查,這一點很重要。

我與CodeBear沒有任何關聯,但是我總是發現我的代碼評論在我能夠在自己的機器上查看更改時更加高效,因爲我擁有IDE和工具以及其他所有配置都需要我有效地拼湊代碼,以查看代碼更改會產生什麼影響,而且如果我的審閱在另一個人的PC上持續15分鐘,並且看着他們滾動,我就無法做到這一點他們的變化。

何時應該進行評論? (遞增?在入住之前?)

入住之前。我一直處於增量代碼審查的情況,因爲我在每次審查期間都會「增量地」爲他們編寫代碼。 :(

爲什麼代碼審查?

主要有兩個原因浮現在腦海中。

第一個是維護代碼庫的質量和一致性。對於任何真實世界的代碼庫你很可能會讓不同級別的程序員離開並加入負責維護代碼庫和評論的團隊,以儘量減少代碼庫成爲團隊動態的反映,例如上個星期2個蹩腳的程序員加入了團隊,現在有20個源文件有廢話在他們。

第二個原因是刪除代碼中的隧道視覺假設。在某個時候,一個代碼庫將變得太龐大,一個程序員無法理解這一切。從那時起,所有從事代碼工作的人都將擁有自己的「現實片段」,瞭解代碼的功能和系統的工作方式,這通常會導致基於天真或錯誤假設編寫的代碼。所以讓其他人在審查過程中將他們對現實的看法帶到您的代碼中有助於減少代碼基礎近視的問題。

0

大家,一切......配對計劃!將是一個答案。

但是,我認爲這取決於您所處的業務類型以及您對質量的認知程度。我曾在一家醫療設備公司工作過,並且通過定期進行代碼審查,通過翻閱總頁面設計師,質量保證部門的UML圖以及頁面和頁面。

有幾個答案爲什麼?

  1. 捕獲無效要求。
  2. 捕捉不符合要求的軟件設計。
  3. 捕捉不適合軟件設計的實現。
  4. 捕捉非標準的實現。
  5. 在執行過程中發現錯誤。
  6. 捕捉實現中的潛在副作用,因爲編碼器沒有考慮其他模塊。
1

誰應該檢討?

大家誰正在開發的代碼被釋放到生產

誰應該做的複習?

整個團隊

什麼代碼進行審查? (所有代碼?大變動?等)

這一個取決於。我們檢查所有代碼更改。除非我們在查看代碼後認爲它是必要的,否則屬性和ini更改不會被審查。

審覈發生在哪裏? (是否必須親自進行?)

是的,它必須親自進行。除了查看代碼,您還可以獲取有關常規編碼實踐,IDE技巧的有價值的信息,該列表繼續。親自審覈也爲編碼人員提供瞭解釋他們爲什麼這樣做的機會,留下了更多爭議空間。

何時應該進行評論? (遞增?在登記之前?)

我們在代碼投入生產前一週做我們的工作。所有事情都按照這一點進行檢查,並且有足夠的時間來糾正任何問題。

爲什麼要檢查代碼?

這個問題的清單是ginormous。首要的是要捕捉可能在生產中產生錯誤或錯誤的代碼。其他的東西,如捕捉非標準化的代碼,草率的代碼,反模式。你非常喜歡它。

0

問題已經非常徹底地回答了。但我想補充一點,即使代碼是好的,(看起來)沒有錯誤,並且遵循標準,代碼審查也是有好處的。也就是說,它增加了開發人員實施功能的卡車數量。 (如果只是勉強。)

但是,我不是建議代碼審查應取代適當的評論。

相關問題