給代碼審查者的幾點建議

jopen 11年前發布 | 6K 次閱讀 代碼

        在軟件開發項目中同行代碼審查是一種常見的做法。代碼審查有助于識別潛在的 Bug 以及規范項目編碼標準,對項目和團隊的確有很大幫助。

        代碼審查涉及四大領域,開發者自身、審查者、學習者以及傳教者。可以說,貫穿整個技術和知識領域。

給代碼審查者的幾點建議

        1.   Teaching + Programming (教學+編程)

        代碼審查為你提供與同伴分享編程知識的好機會。在這里不是為了炫耀你學到的最新技巧,而是去幫助改善另一名開發者的技能。作為一名程序員你可以積極的貢獻出個人的成長歷程,提供最寶貴的經驗反饋。利用特定的技術或者引入具體的項目實踐是指導新手的兩大最有效方法。

        2.   Teaching + Domain(教學+域)

        大多數內置的軟件項目具有不平凡的域特點。 一個不平凡的域需要大量的模型來表示其行為和代碼屬性。由于代碼的模型行為和屬性是兩個密不可分的部分。因此,審查者在整個域建模思路中扮演一個極其重要的角色。

        3.   Learning + Programming(學習+編程)

        開發者在代碼審查上會利用不同方法來解決問題。觀察和理解其他程序員編寫的代碼是改善代碼風格、掌握技術、了解新的類庫以及學習新的模式最有效的方式之一。

        4.   Learning + Domain(學習+域)

        在代碼中捕獲信息是學習域的概念和整體功能一項最基本的資源。代碼實際上是一個軟件系統最詳細的文檔列表。理解性的閱讀代碼能夠有助于擴展理解系統以外的內容。

        大多數開發者會在代碼審查領域中游離,因為他們想成為更好的程序員以及學習更多的域知識。盡管有些開發者有機會學到更多,但他們常常會因此而感 到滿足。如果一名開發者在某個項目中采用新技術(除了這個領域的專家),他將扮演兩個角色。在某種情況下審查者會發現自己同時處在四個領域。 意識到這些領域的優勢是做代碼代碼審查最寶貴的經驗,無論審查者的資歷水平如何。

        給代碼審查者的幾點建議:

        1.   讓團隊中的所有開發者擁有代碼所有權

        作為開發者,我們喜歡在家編碼的感覺。代碼審查從代碼所有者切換至團隊作者,他們擁有共同的利益。這種關系的轉換使得整個團隊都在為代碼質量而負責,任何一名團隊成員都應積極擁抱變化。此外,在極限編程中還涉及到共享代碼(或集體代碼所有權)問題。

        2.   逐步提高開發者的編碼技能

        同行審查能夠提高團隊的平均技能水平。此外,它還具備了無形的壓力促使開發者更寫更好的代碼。

        3.   傳播域知識

        理解從代碼中捕獲的功能有助于在整個團隊成員之間傳播(共享)系統知識。它使整個團隊間更有凝聚力,有效避免了任何一名開發者在任意系統工作領域中“挑三揀四”的情況發生。

        4.   培養集體智慧

        團隊整體完成的項目質量要遠遠高出開發者獨自完成工作的總和。每位開發者都可帶來不同的技能,實現協同編程,為團隊“添磚加瓦”。

        代碼審查是我最喜愛的團隊建設活動之一。它不僅是關注代碼,而且還能見證整個團隊的成長。值得一提的是,結隊編程常被看作是代碼審查的一種極端形式,這是一種值得推崇的代碼審查方式。     
英文原文:Code review FTW

來自: www.iteye.com
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!