同行評審在開源環境中究竟有多強大?

Total votes: 531

原文連結:How strong is peer review in open source?

程式碼檢查在專利軟體開發公司是相當常見的,而開源軟體則因它本身的特性,使程式碼評估標準化變成一件難以達到的事。因此,在開源社群中成功的產業領導者或專案經理常使用同行評審的方法作為標準,藉此在開發循環中做到品質控管。

一個標準的開源同行評審從軟體作者將程式碼和文件提交至他們的專案郵件開始,接著其他貢獻者與專案管理者會開始檢查;在修改被接受或捨棄之前,潛在 的問題和可以改進的地方會在社群中被提出來與作者討論。GitHub使用版本控制軟體Git來提供一個有效率的系統讓專案管理者可以監督原始碼同時依舊可以進行程式碼檢查。因為容易使用,GitHub已經變成了大家常用來進行版本控制和程式碼檢查的龍頭,2011年超過2,000,000儲存庫被上傳至該網站。

雖然有工具可以幫助開發者進行品管控制,但針對較小的專案的程式碼檢查技術則常常被忽略,導致混亂且未經檢查的修補程式被釋出,比較成熟開源專案比較不會有這種困擾,因為他們會提供開發者明確的準則。即使比較小的開發小組確實實施了軟體同行評審,其結果也很難統一,就像Peter Rigby在他的論文裡講到的,「開源軟體的同行評審: 參數、數據模型和理論。」「我們發現開源軟體的同行評審是非同步進行的,那些被授權的專家只專注於擅長領域中所發生的改變,然而檢查者會針對那些小改變提供定期的回饋,這些描述性的數據清楚地顯示出開源軟體的同儕檢查與傳統的檢查有著極大不同。」

證據顯示出,同行評審可能是最有效的找出軟體中缺陷的方式。在「Code Complete」這本書中,作者Steve McConnell說道,程式碼檢查在找出軟體缺陷的效率比起標準單位測試有效30%~35%,開源軟體開發提供給新加入專案的人們最大的好處就在於,對於還不太熟悉的開發者來說,程式碼檢查是一個可以讓開發者變得很有產力,同時也可以很快的讓自己融入這個社群的文化的簡單方法。這也讓一整組的工程師都可以很了解整個專案,但也不會讓社群的優先權減弱。

開源開發小組需要專注在增進他們同儕程式碼檢查的方法上或是開始將軟體評定程式公式化。幸運的是,我們可以取得很多文件來做這件事。內容跟軟體同儕檢查的重要性及改良有關的文章就是很好的資源,SmartBear Softwar寫的11 Best Practices for Peer Code Review就是一例,裡面簡單地介紹了軟體同行評審的基本原則,雖然裡面並沒有特別深入地去探討一些關於程式碼鑑定準則的細節,他確實列出了一些經驗法則,教導開發者如何朝向更簡潔而有用的程式碼檢查技巧邁進。

隨著開源軟體變得越來越可以成為專利軟體外的另一種選擇,我們更要去改良產品的開發熟練度,如此才能增加社群的可靠度。由採取更充足和標準化的同儕程式碼檢 查技巧的團隊所做出來的軟體,可以得到對使用者更友善並且可靠的程式,花在確立一個標準化品管計畫的時間是值得的,因為它可以為我們帶來更精煉優美的產品。

原作者: 
Shaun Gillies
翻譯者: 
劉心慈
授權標示: 

本篇文章出處為 Opensource.com,翻譯改作後同樣以 CC BY-SA 4.0 授權發布。

回應