多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > 代碼審查是如何抹殺開發(fā)者積極性的?

代碼審查是如何抹殺開發(fā)者積極性的?

來源:程序員人生   發(fā)布時(shí)間:2014-10-16 17:14:05 閱讀次數(shù):2429次

【編者按】代碼審查,本身應(yīng)該是一個(gè)相互合作,相互學(xué)習(xí),整合團(tuán)體動(dòng)力,最終卻以消極和敵意為代價(jià)向前發(fā)展。這種現(xiàn)象是如何造成的,我們又該如何克服呢?原文作者Erik Dietrich給出了一些見解。譯文如下:

前不久,我收到一封有關(guān)討論代碼審查的郵件,對(duì)方對(duì)其抱著無所謂的態(tài)度,我想這可能是大部分人持有的態(tài)度,這也一直是大多數(shù)的代碼審查的面臨的尷尬狀況,但不是全部。與其冒著把孩子與洗澡水一起倒掉的風(fēng)險(xiǎn),那不如干脆不要把洗澡水弄臟。我的意思是,完全杜絕糟糕的代碼審查。


雞蛋里挑骨頭和無意義的討論

我想我們大多數(shù)人都同意,沒有什么比花一兩個(gè)小時(shí)的爭(zhēng)論是否要使用隱式類型,或是拋出ArgumentNullException還是NullReferenceException異常更無聊了。為什么讓你的代碼審查變成那樣呢?你可以不用擔(dān)憂大局,僅僅進(jìn)行哲學(xué)討論,如代碼的可讀性和易維護(hù)性。那些曾將代碼審查作為學(xué)習(xí)和合作機(jī)會(huì)的人,很快就會(huì)意識(shí)到,他們只會(huì)關(guān)注產(chǎn)生意見分歧的地方。

居高臨下和嘲諷

在正常的代碼審查中,一般會(huì)產(chǎn)生邏輯錯(cuò)誤,但千萬不用止步于此。如果錯(cuò)誤可以驅(qū)動(dòng)開發(fā),那么你可以添加一句“是個(gè)人都不會(huì)忘記這點(diǎn)”的評(píng)論會(huì)讓他們更加印象深刻。代碼審查是項(xiàng)單向活動(dòng),不用擔(dān)心他們回過頭來找你算賬。

讓審查沒完沒了

一點(diǎn)點(diǎn)代碼審查算是“還不錯(cuò)”,那10小時(shí)的馬拉松會(huì)就值得考驗(yàn)了。請(qǐng)確保您審查每一行代碼、每一個(gè)配置文件的改變、每一個(gè)標(biāo)記標(biāo)簽及每個(gè)自動(dòng)重構(gòu)。

保證所有審查必須“通過”

當(dāng)你將情景設(shè)置為“教授和學(xué)生”,你不妨繼續(xù)制定“審查必須通過”的政策。這樣一來,它就不是一個(gè)專業(yè)團(tuán)隊(duì)檢討彼此的工作,你可以提出批評(píng)、建議和見解,而是一個(gè)被嚇壞了的初級(jí)開發(fā)人員試圖找出這次發(fā)布的版本中做的不夠好的地方。為什么把每個(gè)開發(fā)/循環(huán)/發(fā)布搞得像參加SAT考試一樣隆重呢?

以事實(shí)定位你的意見

也許你會(huì)認(rèn)為靜態(tài)方法比實(shí)例方法更好,這是一個(gè)事實(shí)。想想你帶有個(gè)人偏好的設(shè)計(jì)模式,編碼方法,風(fēng)格等,然后去掉類似“我認(rèn)為”,“我喜歡”,或者“在我看來”等修飾語,將“我喜歡用下劃線命名字段名”變成“你應(yīng)該用下劃線命名你的字段名”;“我覺得你的參數(shù)很混亂”變成“我們的參數(shù)很混亂”。不管你做什么,不需要有任何證據(jù)或引用說明。當(dāng)你告訴別人,他們的代碼太長(zhǎng)了,他們會(huì)問:“哪里太長(zhǎng)了?你只要回答“我是高級(jí)程序員,而你的代碼比我長(zhǎng)。”

逃避所有可以很容易地自動(dòng)檢查出的錯(cuò)誤

為什么要花費(fèi)一天時(shí)間坐在一個(gè)狹小的會(huì)議室,尋找是否有人犯了采用Camelcase命名而不是Pascalcase命名方法的大罪呢?你可以一行一行地?cái)?shù)方法的代碼行數(shù),甚至通過手工計(jì)算循環(huán)的復(fù)雜度。當(dāng)然,有很多工具可以在幾秒鐘內(nèi)可以做任何你想做的事情,但這樣就失去了公開指責(zé)初級(jí)開發(fā)人員錯(cuò)誤的機(jī)會(huì)了。

保持消極

一點(diǎn)點(diǎn)積極的鼓勵(lì)都會(huì)激勵(lì)整個(gè)項(xiàng)目的進(jìn)度,代碼審查其實(shí)有很多這樣的機(jī)會(huì),因?yàn)槟憧梢钥吹胶芏嘈碌淖鍪路椒āU驗(yàn)槿绱耍阅惚仨氁⌒模潦贾两K保持消極。使用白板或電子表格列出別人的錯(cuò)誤,并且多多益善。

結(jié)語

我相信,良好的代碼審查需要一致協(xié)作。如果發(fā)現(xiàn)了錯(cuò)誤,你不需要直接告訴別人他們錯(cuò)了,換成“你覺得,如果我傳遞null給這個(gè)方法會(huì)怎么樣呢?”就足夠了,別人可能會(huì)說“哦,這個(gè)我沒考慮到,我馬上解決它。”讓他們自己意識(shí)到錯(cuò)誤并提出改進(jìn)的方法會(huì)更好。

代碼審查不是考試,也不是為了證明代碼的價(jià)值,而是提出更好的解決方案的機(jī)會(huì)。通過結(jié)對(duì)編程來減少代碼審查中的摩擦。這樣一來,更多的人一起來捍衛(wèi)自己的工作而不是一個(gè)團(tuán)隊(duì)來挑某個(gè)人的刺。

研究表明,減少Bug最有效的方法不是過于苛刻,不是使用靜態(tài)分析工具,甚至不是單元測(cè)試,而是結(jié)對(duì)檢驗(yàn)。找一種工具來折騰是個(gè)不錯(cuò)的選擇,只要像待人一樣對(duì)待它就行了。

英文出自:Daedtech

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧美一级性 | 亚洲精品国产一区二区三 | 亚洲综合一区二区精品久久 | 亚洲综合无码一区二区 | 琪琪五月天 | 亚洲欧美乱 | 亚洲免费网 | 欧美18一19sex性hd | 一区二区三区四区在线不卡高清 | 冲田杏梨j和l超乳w真性中出 | 成人精品国产亚洲 | 欧美精品 日韩 | yellow中文字幕在线 | 亚洲精品精品一区 | 中文字幕免费观看视频 | 国产亚洲综合一区在线 | 免费在线h| 91久久另类重口变态 | 国内精品一区二区三区αv 国内精品一区二区三区东京 | 性欧美一区 | 日韩欧美视频在线 | 一级毛片一级毛片一级级毛片 | 欧美白人和黑人xxxx猛交视频 | 一二三四视频免费观看在线看1 | 夜夜躁日日躁 | 国产成人精品一区 | 男人懂得成a人v网站 | 国产三级在线播放 | 日韩三级免费 | 久久精品老司机 | 欧美日韩国产中文字幕 | 尤物视频在线观看免费视频 | 中文字幕在线精品视频入口一区 | 性欧美18 | 欧美九九视频 | 日本特黄高清免费大片爽 | 二区视频 | 亚洲一区第一页 | 国产精品视频成人 | 国产一区二区三区在线免费 | 综合欧美视频一区二区三区 |