新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
代碼審查:ThoughtBot官方給出的代碼審查指導(dǎo)原則
這篇文章的內(nèi)容由ThoughtBot在github上官方主頁(yè)提供,指導(dǎo)你如何在github上進(jìn)行代碼審查和如果讓別人審查自己的代碼。

針對(duì)所有人的審查
- 接受這樣的事實(shí):很多編程上的主張都是一種個(gè)人觀點(diǎn)。應(yīng)該討論它們的利與弊,提出你的傾向觀點(diǎn),迅速的達(dá)成一種解決方案。
- 提問(wèn),而不是命令。(“把這個(gè)變量命名成
:user_id你覺(jué)得怎樣?”) - 請(qǐng)求說(shuō)明。(“我不明白。你能解釋一下嗎?”)
- 避免代碼的歸屬之爭(zhēng)。(“我的”,“不是我的”,“你的”)
- 避免使用一些會(huì)被認(rèn)為是有關(guān)人身特征的詞語(yǔ)。(“笨蛋”,“愚蠢”)要把所有人都看作是有魅力的、聰明的、善意的。
- 要明確。要記著并不是每個(gè)人都能理解你的意圖。
- 要謙虛。(“我不能確定——我們來(lái)分析一下?!?
- 不要用夸張修辭語(yǔ)。(“總是”,“從不”,“永遠(yuǎn)”,“毫無(wú)…”)
- 不要諷刺。
- 展現(xiàn)真實(shí)的你。如果你不是幽默型的人,不喜歡使用一些表情符號(hào)或動(dòng)畫(huà)gif圖,不要勉強(qiáng)。如果你是這種人,請(qǐng)自信的發(fā)揮。
- 如果有太多的“我不理解”或“另一種方案:”的評(píng)論,請(qǐng)專門(mén)針對(duì)這個(gè)人進(jìn)行交流。可以把你們線下的交流總結(jié)成一個(gè)帖子附在后面。
讓別人審查你的代碼
- 對(duì)審查者的建議表示感激。(“謝謝提醒。我會(huì)把它改正?!?
- 理解審查是對(duì)事不對(duì)人。審查的是你的代碼,而不是你。
- 解釋為什么代碼寫(xiě)成這樣。(“因?yàn)閤xx原因我才寫(xiě)成這樣。如果我把這個(gè)類(lèi)/文件/方法/變量改個(gè)名會(huì)更清晰些嗎?”)
- 整理所作的改動(dòng),在以后的迭代中重構(gòu)它們。
- 在做修改的版本上注明代碼審查的鏈接。(“Ready for review: http://github.com/organization/project/pull/1″)
- push提交要基于最早的一輪反饋,并形成一個(gè)獨(dú)立的分支。等這個(gè)分支上的任務(wù)完全完成了再合并。這讓審查者能夠根據(jù)早先的反饋找到你的單獨(dú)的更新。
- 努力站在審查者的立場(chǎng)上理解。
- 爭(zhēng)取回復(fù)每個(gè)評(píng)論。
- 直到最后一個(gè)人退出登錄后再合并分支。
- 直到持續(xù)集成測(cè)試(TDDium, TravisCI,等)告訴你這個(gè)分支的測(cè)試套件通過(guò)后再合并分支。
代碼審查的過(guò)程
先要清楚你提交的代碼的必要性(是修補(bǔ)bug,提升用戶體驗(yàn),重構(gòu)…)。然后:
- 針對(duì)你感覺(jué)非常好的地方以及不是很好的地方與作者交流。
- 找出既能解決問(wèn)題又能簡(jiǎn)化代碼的方法。
- 如果討論變得過(guò)于哲學(xué)或理論,把討論轉(zhuǎn)到線下,做成一個(gè)有規(guī)律的每周五下午的討論會(huì)。同時(shí),是否采用你提出的實(shí)現(xiàn)方案,讓作者自己做決定。
- 提出你的實(shí)現(xiàn)方案,但要表現(xiàn)出作者也在考慮這種方案。(“你覺(jué)得這里用一個(gè)自定義校驗(yàn)如何?”)
- 努力理解作者的立場(chǎng)。
- pull請(qǐng)求登出時(shí),加一個(gè):thumbsup:或“可以合并了”的注釋。
關(guān)于程序風(fēng)格樣式的評(píng)論注釋
審查者應(yīng)該對(duì)那些不符合樣式指導(dǎo)的地方進(jìn)行注釋。例如這樣注釋:
- [Style](../style):
- > 按名稱的字母順序排列多個(gè)路由。
對(duì)上面這個(gè)提醒的一個(gè)回復(fù)的例子:
- 哦。你眼真尖,謝謝。已在 a4994ec 修復(fù)。
如果你不同意某個(gè)指導(dǎo)原則,請(qǐng)?jiān)谥笇?dǎo)repo里創(chuàng)建一個(gè)問(wèn)題,而不要再代碼審查中爭(zhēng)論它。同時(shí),請(qǐng)運(yùn)用這個(gè)指導(dǎo)原則。
英文原文: code review
譯文鏈接:http://www.aqee.net/code-review/
分享名稱:代碼審查:ThoughtBot官方給出的代碼審查指導(dǎo)原則
URL標(biāo)題:http://m.5511xx.com/article/dhidsde.html


咨詢
建站咨詢
