<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          獨(dú)家 | 使用Mob進(jìn)行代碼審查

          共 2752字,需瀏覽 6分鐘

           ·

          2022-04-10 08:32

          作者:Svata Simara
          翻譯:歐陽(yáng)錦
          校對(duì):zrx

          本文約2000字,建議閱讀5分鐘

          本文討論了使用Mob編程省去代碼審查的優(yōu)點(diǎn)和Mob的使用要求。


          標(biāo)簽:代碼審查


          代碼審查的缺點(diǎn)


          • 長(zhǎng)反饋回路

          • 等待

          • 多個(gè)未完成的任務(wù)

          • 書面溝通耗費(fèi)時(shí)間

          ?
          典型的編程過(guò)程對(duì)我來(lái)說(shuō)意味著“編寫代碼 -> 發(fā)送至審查階段”。現(xiàn)在呢?呃……有了另一個(gè)任務(wù)。這個(gè)任務(wù)很簡(jiǎn)單——代碼審查,讓我們開(kāi)始第三個(gè)階段。在這階段,隊(duì)員會(huì)催促審查,提交之后需要等一段時(shí)間,接下來(lái)自己再次審查……最后——再做一次第二個(gè)任務(wù)的審查!不,我不同意這種工作模式,我的意思是......在多次審查后的又一個(gè)小時(shí),我寫完了對(duì)論證的總結(jié),第二天我的同事只回答了 OK。什么??jī)H僅是OK嗎?!

          代碼審查最重要的問(wèn)題是異步的工作循環(huán)。這是低效且讓人感到沮喪。
          ?
          另一種方法是盡可能快地進(jìn)行代碼審查。當(dāng)我應(yīng)用這種方法時(shí),我整個(gè)星期都在進(jìn)行代碼審查。我做的代碼審查越多,我收到的請(qǐng)求就越多,這再次讓我感到沮喪。

          代碼審查的目標(biāo)


          代碼審查有什么好處?

          • 分享知識(shí)

          • 分擔(dān)責(zé)任

          • 改進(jìn)代碼結(jié)構(gòu)

          • 學(xué)習(xí)


          一個(gè)好的代碼審查涵蓋了所有這些方面。但是代碼審查只是一個(gè)工具,如果我們能找到更好的工具,我們就可以把代碼審查扔在腦后。

          Mob編程


          Mob編程意味著所有團(tuán)隊(duì)成員同時(shí)出現(xiàn)在一個(gè)屏幕前。或者在共享屏幕上遠(yuǎn)程工作——這就是我的情況。
          ?
          我在4人的團(tuán)隊(duì)中工作,我們每天以Mob風(fēng)格工作約5-6小時(shí)。起初,我們決定這項(xiàng)任務(wù),并在可能的情況下輪流操作會(huì)話。
          ?
          一個(gè)會(huì)話意味著有一個(gè)主導(dǎo)者(driver)——進(jìn)行打字/點(diǎn)擊按鈕,一個(gè)導(dǎo)航者——導(dǎo)航者告訴主導(dǎo)者該做什么。其他2名隊(duì)員則保持注意力,只有當(dāng)導(dǎo)航者走錯(cuò)方向時(shí),才會(huì)打斷。導(dǎo)航者只導(dǎo)航3 分鐘——是的,只有 3 分鐘,然后交替(rotate)到下一個(gè)人。
          ?
          交替(rotation)意味著主導(dǎo)者目前在導(dǎo)航——主導(dǎo)者應(yīng)該知道下一步,此時(shí)導(dǎo)航者休息一下,接下來(lái)則是剩下兩個(gè)隊(duì)員中的一個(gè)成為主導(dǎo)者。3 分鐘后,又一次輪換,然后又一次,……
          ?
          這種交替強(qiáng)度較高。所以每個(gè)人都必須時(shí)刻保持注意力。因?yàn)槊總€(gè)人將不得不在幾分鐘后進(jìn)行導(dǎo)航,如果走神,您將不知道接下來(lái)該如何導(dǎo)航。

          實(shí)現(xiàn)代碼視圖的目標(biāo)


          分享知識(shí)和想法是即時(shí)的——每個(gè)團(tuán)隊(duì)成員在項(xiàng)目中都共同經(jīng)歷項(xiàng)目的發(fā)展過(guò)程,并且知道為什么會(huì)這樣做。
          ?
          分擔(dān)責(zé)任——我對(duì)我們生產(chǎn)的一切負(fù)責(zé),因?yàn)槲铱梢噪S時(shí)說(shuō)“我不同意”或“我有更好的主意”。
          ?
          所有團(tuán)隊(duì)成員都同意代碼結(jié)構(gòu),因此代碼結(jié)構(gòu)是一致的,我相信最好的團(tuán)隊(duì)成員可以做到。
          ?
          學(xué)習(xí)——是即時(shí)的、高強(qiáng)度的。如果導(dǎo)航者很在行,他們不僅會(huì)告訴你要做什么,還會(huì)告訴你如何有效地做。我每天都在學(xué)習(xí)更好的軟件架構(gòu)、更好的測(cè)試策略、如何有效地使用 IDE,……這是因?yàn)閷?dǎo)航者知道(并分享)我所缺少的知識(shí)。
          ?
          總而言之,在我看來(lái),Mob在各個(gè)方面都優(yōu)于代碼審查,以及代碼審查帶來(lái)的工作循環(huán)的沮喪。

          Mob編程一定是低效的


          在最初的幾周里,我認(rèn)為Mob的效率低下。
          ?
          當(dāng)團(tuán)隊(duì)正在安頓下來(lái)或團(tuán)隊(duì)成員還沒(méi)有使用語(yǔ)言和工具的經(jīng)驗(yàn)時(shí),感受到低效率是很正常的。在這個(gè)時(shí)期,我們主要使用Mob去學(xué)習(xí)。
          ?
          但是一旦團(tuán)隊(duì)度過(guò)了最初的幾周,情況就會(huì)變得非常不同。
          ?
          幾乎每天我都會(huì)遇到一個(gè)問(wèn)題,當(dāng)我獨(dú)自一人時(shí),我至少需要一個(gè)小時(shí)(或幾個(gè)小時(shí))才能解決。但是我們有 4 個(gè)人,通常其他人會(huì)在幾分鐘內(nèi)知道如何解決它。我的同事們證實(shí)他們也有同樣的經(jīng)歷——他們不知道該怎么做,而其他人馬上就知道了。
          ?
          每個(gè)團(tuán)隊(duì)成員都擅長(zhǎng)不同學(xué)科。一個(gè)隊(duì)員在數(shù)據(jù)庫(kù)中很好,一個(gè)隊(duì)員很擅長(zhǎng)解決在我們使用的框架中解決問(wèn)題,還有一個(gè)隊(duì)員是善于決策。所以當(dāng)導(dǎo)航者卡住的時(shí)候,這個(gè)“專家”隊(duì)員會(huì)幫助克服障礙,并且這種幫助通常立刻發(fā)生。


          使用Mob的要求


          Mob編程并不適合所有人。
          ?
          一開(kāi)始如果你們不能同時(shí)在一起(即使是遠(yuǎn)程),Mob則行不通。
          ?
          Mob需要良好的溝通技巧。沒(méi)有消極、攻擊或傲慢的態(tài)度。如果你總想證明你比你的同事更好,我不認(rèn)為你適合Mob編程。
          ?
          Mob需要耐心和尊重——因?yàn)槊總€(gè)人并不總是處于最佳狀態(tài)。如果您喜歡急于解決,并且您對(duì)領(lǐng)導(dǎo)/教導(dǎo)同事不感興趣,那么Mob將無(wú)法工作。你的同事不會(huì)變得更好,團(tuán)隊(duì)也不會(huì)進(jìn)步。
          ?
          這就是使用Mob的一些要求。如果你們可以在同一時(shí)間(甚至是遠(yuǎn)程)在一起,你們有耐心,對(duì)新方法感興趣,并且你們的同事有相似的觀點(diǎn),那就去嘗試一下吧。Mob就是解決方案!


          Mob與代碼審查


          當(dāng)我比較Mob和代碼審查,我會(huì)發(fā)現(xiàn):
          ?
          在代碼審查中,我會(huì)畫上幾個(gè)小時(shí)努力解決一個(gè)問(wèn)題,然后我會(huì)將解決方案發(fā)送給代碼審查,然后需要等待一段時(shí)間,接下來(lái)審查者會(huì)提出更改建議,我會(huì)為我的解決方案進(jìn)行進(jìn)一步討論或繼續(xù)更改代碼。2到5天后,我將準(zhǔn)備好合并代碼,但隨后我必須合并所有不同的地方!
          ?
          而Mob 編程中則沒(méi)有這樣繁瑣的東西。

          • 是否掙扎在一個(gè)難題中則受限于團(tuán)隊(duì)成員的經(jīng)驗(yàn)

          • 無(wú)需中間等待

          • 即時(shí)討論/代碼更改

          • 減少合并不同之處的工作量


          Mob有更多的好處,對(duì)我來(lái)說(shuō)最重要的是改善我和同事之間的關(guān)系。程序員也是社交者,Mob在這方面幫了大忙。
          ?
          總結(jié)一下,Mob編程極大地縮短了反饋循環(huán),并產(chǎn)生了令人驚訝且振奮的結(jié)果。

          原文標(biāo)題:

          Don’t do Code Review, try Mob instead

          原文鏈接:

          https://medium.com/verotel/dont-do-code-review-try-mob-instead-82149ef035df


          編輯:于騰凱

          校對(duì):林亦霖





          譯者簡(jiǎn)介





          歐陽(yáng)錦,一名在埃因霍溫理工大學(xué)就讀的碩士生。喜歡數(shù)據(jù)科學(xué)和人工智能相關(guān)方向。歡迎不同觀點(diǎn)和想法的交流與碰撞,對(duì)未知充滿好奇,對(duì)熱愛(ài)充滿堅(jiān)持。

          翻譯組招募信息

          工作內(nèi)容:需要一顆細(xì)致的心,將選取好的外文文章翻譯成流暢的中文。如果你是數(shù)據(jù)科學(xué)/統(tǒng)計(jì)學(xué)/計(jì)算機(jī)類的留學(xué)生,或在海外從事相關(guān)工作,或?qū)ψ约和庹Z(yǔ)水平有信心的朋友歡迎加入翻譯小組。

          你能得到:定期的翻譯培訓(xùn)提高志愿者的翻譯水平,提高對(duì)于數(shù)據(jù)科學(xué)前沿的認(rèn)知,海外的朋友可以和國(guó)內(nèi)技術(shù)應(yīng)用發(fā)展保持聯(lián)系,THU數(shù)據(jù)派產(chǎn)學(xué)研的背景為志愿者帶來(lái)好的發(fā)展機(jī)遇。

          其他福利:來(lái)自于名企的數(shù)據(jù)科學(xué)工作者,北大清華以及海外等名校學(xué)生他們都將成為你在翻譯小組的伙伴。


          點(diǎn)擊文末“閱讀原文”加入數(shù)據(jù)派團(tuán)隊(duì)~



          轉(zhuǎn)載須知

          如需轉(zhuǎn)載,請(qǐng)?jiān)陂_(kāi)篇顯著位置注明作者和出處(轉(zhuǎn)自:數(shù)據(jù)派ID:DatapiTHU),并在文章結(jié)尾放置數(shù)據(jù)派醒目二維碼。有原創(chuàng)標(biāo)識(shí)文章,請(qǐng)發(fā)送【文章名稱-待授權(quán)公眾號(hào)名稱及ID】至聯(lián)系郵箱,申請(qǐng)白名單授權(quán)并按要求編輯。

          發(fā)布后請(qǐng)將鏈接反饋至聯(lián)系郵箱(見(jiàn)下方)。未經(jīng)許可的轉(zhuǎn)載以及改編者,我們將依法追究其法律責(zé)任。








          點(diǎn)擊“閱讀原文”擁抱組織



          瀏覽 21
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费三级久久 | 日韩欧美国产操 | 精品无码一区二区三区狠狠 | 超碰成人免费 | 日韩嫩穴|