在日常寫完代碼之后,你是否會有Code Review的習慣?
Code Review即代碼審查,其目的在于找到開發(fā)時被忽視的Bug,以此極大地提高代碼質量也可以幫助開發(fā)者們更加熟悉項目。但遺憾的是,很多業(yè)界的開發(fā)者并沒有常規(guī)代碼審查的習慣。那么對于程序員而言,Review是否真的是一項必備的工作?
凡事知其然還要知其所以然,我們首先需要知道什么是Code Review的目的是什么。
Code Review主要用來在軟件工程過程中改進代碼質量,通過Code Review可以達到如下目的:
●在項目早期就能夠發(fā)現代碼中的BUG
●幫助初級開發(fā)人員學習高級開發(fā)人員的經驗,達到知識共享
●避免開發(fā)人員犯一些很常見,很普通的錯誤
●保證項目組人員的良好溝通
●項目或產品的代碼更容易維護
具體來說,Code Review有哪些好處呢?
在 Code Complete 這本書中講述了兩個很有說服力的案例。在一項對同一個團隊開發(fā)的很多個程序進行對比的研究中,沒有經過 review 的程序平均每 100 行有 4.5 個錯誤,而經過 review 的程序平均每 100 行只有 0.82 個錯誤,也就是說 80% 的錯誤在 review 中被修正了。AT & T 的一個 200 多人的部門在開始執(zhí)行 code review 后,開發(fā)效率提高了 14%,而錯誤減少了 90% 左右。
除了減少缺陷,避免在診斷錯誤上浪費時間,review 的過程還可以通過相互的督促保證代碼有好的可讀性、文檔、風格,并同時檢查測試覆蓋率等開發(fā)過程中的規(guī)范,從而提高團隊的協作效率。對于所有復雜的事情來說,總是越早發(fā)現問題,解決問題的成本越低。
對于經驗不足或者剛開始一份新工作的人來說,通過 code review 可以得到更資深的人幫助,更快熟悉現有的規(guī)范和架構,在新的環(huán)境和團隊中快速提升。
對于資深的工程師來說,讓其他同事 review 代碼,有利于在團隊中傳播經驗、知識和好的實踐。身邊的同事水平提高會讓自己的工作也更高效。并且誰都有需要休假的時候,無論是公司還是個人都不希望有太多工作因此而停滯,如果有平時就熟悉自己工作的同事,這個問題就很好解決。
此外,如果說寫代碼是一個學習過程,怎么做一個好的代碼審核人更是一個學習和成長的過程。自己繞過一個坑不難,難的是看到別人那么走,遠遠地你就能告訴他/她那里有個坑。而他/她在經你指出多次后,下一次他/她也會幫著指出別人的類似的問題。
像很多其他事情一樣,code review 最難的就是邁出第一步。一旦開始,花在 review 過程的每一分鐘都會很快被成倍地賺回來。其實合理的code review即不用浪費很多時間,而且問題都能快速暴露,快速修復,代碼始終都能在保證在一個正確的方向上。