Posted on 2012-04-15 16:37
zljpp 閱讀(98)
評論(0) 編輯 收藏
?
據調查顯示,代碼審查工作有助于提高軟件開發質量,然而許多開發者卻不愿意在他們的團隊中實施代碼審查工作,本文主要分析了開發者為什么會抵制代碼審查工作的原因以及為什么他們會有此想法,目的是為了引導開發者加入代碼審查工作。
代碼審查究竟是什么樣的工作呢?通常情況下它是指否決質量的一種過程。大量統計數據表明代碼審查極大的提高了軟件質量以及降低了技術風險,不僅如此,它還降低了開發成本。
一起來看下代碼審查工作所帶來的好處:
如圖所示,代碼審查工作帶來這么多的益處,那為什么還有一些開發團隊拒絕這一做法呢?我們一起來分析下原因:

文化問題或許已成為一種巨大的障礙,大部分開發者會厭惡代碼審查是因為他們無法忘記那些痛苦的審查會議,更槽糕的是,他們害怕因劣質代碼而遭到管理 者的批評與指責(這個通常是管理者自身的原因,而不是壞代碼)。代碼審查工作有助于提升團隊自身能力,我們應該持積極態度,而不是為了找機會來貶低同伴。
另一種可能性,當大家相互協作、積極互動時,管理者會誤認為大家在“聊天”。敏捷性團隊已經意識到快速創建軟件工作需要積極的互動與協作。他們認為堅持代碼審查工作,是通向成功的秘訣。
第三種可能性誤解,開發者利用靜態分析工具來查找bug,以致代碼審查工作成為不必要性。然而事實并非如此,Capers Jones,一位軟件質量度量領域的巨人,曾發表過一篇文章“結合視察、靜態分析和測試能消除影響效率缺陷的95%”,這種三叉戟式的方法最能確保軟件質量。
靜態分析只是其中的一個分叉。
靜態分析工具有著很大的局限性,包括無法辨認出一些疑似代碼,比如,靜態分析工具不具備標記功能,因為它無法確定一個函數名為getRandomNumber是否應該總返回相同的值(with a hat tip toXKCD)。
1
2
3
4
5
|
Int?getRandomNumber()
? {<
? return ?4;?
?
? }
|
也許代碼審查最大障礙是恐懼。開發者擔心錯過最后期限,害怕分心,害怕投入過多時間。要知道,這些都是愚蠢的想法,代碼審查的目的是在前端開發過程中最大限度的提高代碼質量以及幫助你縮短開發周期。
最后,我認為,調用一個進程(代碼審查工作)能夠促進團隊合作,提供指導且有助于技能的發展,鼓勵開發者熟悉代碼的基礎部分,最終可達到提高整個軟 件質量。當然,如果您想快速輸入代碼,可以考慮一些代碼審查工具,前提是,你要確保該工具是輕量級并且有趣。一旦你習慣了使用該工具便有了依賴性(許多使 用代碼審工具用戶都這么認為)“我們無法想象沒有編碼工具的日子”,我想你會發現它們的價值所在。
無論如何,請記住,拒絕代碼審查是不可取的。
英文出自:softwarequalityconnection
?
轉載自 伯樂在線?http://blog.jobbole.com/16416/
已有 0 人發表留言,猛擊->>這里<<-參與討論