前言
文章以真實(shí)項(xiàng)目實(shí)踐總結(jié)為基礎(chǔ),選取了結(jié)對(duì)編程中的典型場(chǎng)景,敘述了在敏捷交付項(xiàng)目中跛溉,開(kāi)發(fā)者在實(shí)踐結(jié)對(duì)編程時(shí)經(jīng)常遇到的挑戰(zhàn)。場(chǎng)景中會(huì)找到你或你身邊同事的影子嗎扮授?
結(jié)對(duì)編程的十個(gè)場(chǎng)景
角色假設(shè)
A:Senior DEV芳室,結(jié)對(duì)編程實(shí)踐者
B:Junior DEV,剛接觸結(jié)對(duì)編程
場(chǎng)景一:結(jié)對(duì)前的約定
A:好刹勃,那任務(wù)列表(check list)我們梳理清楚達(dá)成一致了堪侯,現(xiàn)在要開(kāi)始編碼工作了。你們之前是怎么結(jié)對(duì)編程的荔仁?
B:嗯~怎么結(jié)對(duì)編程具體指什么伍宦?
A:好吧,那不然我們一個(gè)人寫(xiě)45分鐘乏梁,然后休息10分鐘次洼,再交換?
B:好啊遇骑,可以的卖毁。
開(kāi)始結(jié)對(duì)之前,做一些約定是較好的開(kāi)始落萎。協(xié)商結(jié)對(duì)編程過(guò)程中如何交換角色亥啦,多久休息一次等炭剪。例一:A寫(xiě) 45分鐘,休息15分鐘禁悠,然后B寫(xiě)45分鐘念祭,休息15分鐘;例二:TDD A寫(xiě)測(cè)試碍侦,B寫(xiě)實(shí)現(xiàn)粱坤,A重構(gòu),B寫(xiě)測(cè)試瓷产,A寫(xiě)實(shí)現(xiàn)站玄,編碼40分鐘左右休息10分鐘。
場(chǎng)景二:知識(shí)傳遞
A:休息時(shí)間結(jié)束濒旦,那我們開(kāi)始株旷?
B:好,該我編碼了尔邓。那我們接下來(lái)要構(gòu)造接口的返回值了
A:對(duì)的晾剖,我們可以新建一個(gè)文件,導(dǎo)出一個(gè)方法梯嗽,在該方法中構(gòu)建接口返回值
B:嗯齿尽,那我們現(xiàn)在去找一個(gè)地方放新建的文件
A:可以在 XX 目錄下建這個(gè)文件
…B找到對(duì)應(yīng)的目錄并打開(kāi)...
B:嗯。咦灯节,這個(gè)目錄已經(jīng)有很多文件了循头,我看一下其他文件都是干什么的。
A:嗯炎疆,其實(shí)這個(gè)庫(kù)有自己的模式卡骂,不然我們?nèi)タ匆幌聨?kù)的文件結(jié)構(gòu)說(shuō)明文檔?
B:好呀形入,那說(shuō)明文檔在哪呢全跨?
A:README文件中有入口,可以從那里點(diǎn)進(jìn)去亿遂。
B:哦螟蒸。
…查看結(jié)構(gòu)說(shuō)明文檔...
B:所以我們?cè)诮o上游發(fā)請(qǐng)求前如果要構(gòu)建請(qǐng)求參數(shù)的話,可以在文件夾下面建立XXRequestParams.js文件用來(lái)構(gòu)建參數(shù)崩掘,從上游接口拿到返回值后,如果要對(duì)值做一些轉(zhuǎn)換的話少办,可以在文件夾下面建XXTransformer.js文件構(gòu)建接口返回值苞慢。是嗎?
A:對(duì)的英妓,這樣的話可以做到把部分功能放到單獨(dú)的文件中挽放,避免文件過(guò)大绍赛。還有一個(gè)好處是更好寫(xiě)測(cè)試。
**及時(shí)發(fā)現(xiàn)結(jié)對(duì)編程的伙伴(peer)某方面上下文的欠缺并耐心傳達(dá)辑畦,幫助新人快速獲得項(xiàng)目知識(shí)吗蚌。 **當(dāng)發(fā)現(xiàn)peer某方面的不足時(shí),我們要意識(shí)到發(fā)展他人的機(jī)會(huì)來(lái)了纯出。在上下文傳遞或知識(shí)點(diǎn)講解的過(guò)程中蚯妇,我們可能也會(huì)有新的發(fā)現(xiàn)。
場(chǎng)景三:Senior直接上手解決問(wèn)題
A:我們需要給 state 中增加一個(gè) XX字段
B:對(duì)暂筝,我們現(xiàn)在要去state文件箩言。這個(gè)文件,好像不是加到這個(gè)state文件呀焕襟!這個(gè)文件呢陨收?不對(duì)不對(duì),好像也不是鸵赖。
A:我們要構(gòu)建的頁(yè)面屬于XX模塊务漩,得把state字段加在XX目錄下的state文件中。
B:嗯嗯它褪,有道理饵骨。那這個(gè)文件,嗯~好像也不對(duì)列赎!
A:不然我來(lái)寫(xiě)吧宏悦。
...A拿過(guò)鍵盤(pán),啃哧啃哧的編碼...
B:要遍歷數(shù)組了包吝,用 for each 方法吧饼煞!
A:嗯~有其他遍歷數(shù)組的方法嗎?
B:還有 for…of诗越、map 等方法砖瞧,那我改成 map 吧!
A:其實(shí)這塊用 reducer 方法可能更合適
B:reducer 方法嚷狞!reducer方法該怎么寫(xiě)呀块促?
A:那我來(lái)寫(xiě)吧。
...A拿過(guò)鍵盤(pán)床未,啃哧啃哧的編碼...
要給Junior足夠的實(shí)踐機(jī)會(huì)和成長(zhǎng)時(shí)間竭翠。任何成長(zhǎng)都是需要時(shí)間和實(shí)踐的,每個(gè)人學(xué)通一個(gè)技術(shù)或領(lǐng)域知識(shí)所需花費(fèi)的時(shí)間也不盡相同薇搁,我們要關(guān)注peer取得的進(jìn)步斋扰,而不是聚焦于peer還沒(méi)有掌握的部分,也不要因?yàn)閜eer的速度較慢就自己上手,剝奪他人實(shí)踐和學(xué)習(xí)的機(jī)會(huì)传货。
**敢于暴露自己的弱點(diǎn)屎鳍。 **敢于承認(rèn)自己在某方面的能力比較欠缺,尋找機(jī)會(huì)有針對(duì)性地進(jìn)行提升问裕,不要害怕暴露缺點(diǎn)而不敢發(fā)言逮壁。展示弱點(diǎn)并不會(huì)讓我們矮于他人,相反還會(huì)讓大家覺(jué)得你比較容易接近粮宛。
**團(tuán)隊(duì)要?jiǎng)?chuàng)建一個(gè)安全包容的環(huán)境窥淆。 **團(tuán)隊(duì)有好的氛圍,成員才不會(huì)擔(dān)心說(shuō)錯(cuò)窟勃,有更大的信心自由地發(fā)表自己的觀點(diǎn)祖乳。
場(chǎng)景四:一個(gè)人的獨(dú)角戲
A:任務(wù)列表的這一項(xiàng)太大了,不然我們把它拆小一些秉氧?
B:......
A:這塊邏輯很復(fù)雜眷昆,還不好寫(xiě)測(cè)試,不然我們抽一個(gè)純函數(shù)去處理這段邏輯吧汁咏?
B:......
A:這塊代碼這樣寫(xiě)好像不太符合項(xiàng)目的模式亚斋,我們?nèi)フ覀€(gè)已有例子參考一下?
B: ......
全程無(wú)回應(yīng)(我是誰(shuí)攘滩?我在哪帅刊?我在做什么?)漂问。
是peer沒(méi)聽(tīng)到嗎赖瞒?是我聲音太小了嗎?是peer太專(zhuān)注沒(méi)心思搭理我嗎蚤假?
及時(shí)回應(yīng)栏饮。溝通需要至少兩個(gè)人的參與才能正常進(jìn)行,就像討論需要有來(lái)有往才是有效的磷仰。如果A講了話卻沒(méi)收到來(lái)自B的反饋袍嬉,有三種可能情況:1. B沒(méi)聽(tīng)到。2.B聽(tīng)到了但是沒(méi)有回答灶平。3.B聽(tīng)到并回答了伺通,但是回答的方式?jīng)]有被A理解到。對(duì)A來(lái)說(shuō)逢享,若不確定B究竟聽(tīng)到?jīng)]罐监,可以加大音量重復(fù)所講的內(nèi)容。如果還是沒(méi)有回答的話瞒爬,可以問(wèn)A是否有聽(tīng)到笑诅。為了讓結(jié)對(duì)編程更順暢调缨,建議我們聽(tīng)到他人說(shuō)話后,及時(shí)給出回應(yīng)吆你,以示意我們聽(tīng)到了。這個(gè)回應(yīng)可以是語(yǔ)言俊犯、動(dòng)作甚至眼神妇多,所以如果我們正在思考,不能被打斷或不方便給出回應(yīng)時(shí)燕侠,可以選擇動(dòng)作等非語(yǔ)言的形式給出示意者祖。
及時(shí)反饋。如果我們講話后沒(méi)收到對(duì)方的回應(yīng)绢彤,要及時(shí)反饋七问。如果該現(xiàn)象發(fā)生了多次,我們可以建立一次反饋會(huì)議茫舶,跟peer針對(duì)該問(wèn)題進(jìn)行正式的溝通械巡,分析原因,明確及時(shí)回應(yīng)的必要饶氏,商討對(duì)應(yīng)的解決方法讥耗。
場(chǎng)景五:你怎么都不會(huì)
A:我們用 reducer 方法來(lái)對(duì)數(shù)組進(jìn)行處理吧!
B:這數(shù)組遍歷的 reducer 該怎么寫(xiě)呀疹启?
A:你這都不會(huì)古程!
...A講解 reducer 的使用方法...balabala… 一頓解釋...
B:測(cè)試要mock外部依賴(lài)了
…B開(kāi)始編碼,嘗試了兩種mock方法喊崖,都沒(méi)有達(dá)到預(yù)期效果...
A:這塊結(jié)合實(shí)際情況挣磨,要這樣mock
...A講解該處mock外部依賴(lài)的方法...balabala…
B:對(duì)的,這樣寫(xiě)測(cè)試結(jié)果符合預(yù)期荤懂。
A:你怎么這也不會(huì)茁裙!這很簡(jiǎn)單呀。
注意溝通技巧势誊、用詞和語(yǔ)氣呜达。我們?cè)跍贤ǖ倪^(guò)程中,一定要以平和的心態(tài)粟耻,不帶偏見(jiàn)的查近、盡可能客觀地表達(dá)我們的意見(jiàn)。有些用詞對(duì)你來(lái)說(shuō)可能不帶任何含義挤忙,但是在他人來(lái)說(shuō)就不一定了霜威,所以斟酌用詞也是必要的,盡量使用常見(jiàn)的中性詞册烈。當(dāng)然我們也沒(méi)必要對(duì)每一個(gè)用詞語(yǔ)氣都反復(fù)斟酌戈泼,否則會(huì)過(guò)猶不及影響正常的溝通婿禽,畢竟都是項(xiàng)目的成員,說(shuō)話的人和聽(tīng)話的人的感受都值得被關(guān)注大猛、被考慮扭倾。重要的是在發(fā)生不愉快的時(shí)候,我們都要有去解決的意識(shí)挽绩,能及時(shí)溝通講清前因后果及雙方的理解膛壹,解除不愉快。
正確處理peer的能力低于預(yù)期的情況唉堪。peer 的打字速度好慢呀模聋,都不用快捷鍵,方法定位也不會(huì)唠亚,這么菜嗎链方?針對(duì)這些情況,要明確:聞道有先后灶搜,術(shù)業(yè)有專(zhuān)攻祟蚀。如果 peer 某方面表現(xiàn)很不好的時(shí)候,不要隨意批判輕視對(duì)方占调,要知道 peer 在這方面比較 junior暂题,但是在其他方面,我們也可能會(huì)是初學(xué)者究珊,所以我們要換位考慮對(duì)方的感受薪者,同時(shí)還要意識(shí)到發(fā)展他人的機(jī)會(huì)來(lái)了。針對(duì)具體問(wèn)題也要具體分析剿涮,通過(guò)溝通等手段尋找問(wèn)題根因言津。是因?yàn)?peer 剛接觸該技術(shù)棧呢?還是 peer 最近壓力比較大取试,沒(méi)休息好悬槽,所以有時(shí)會(huì)反應(yīng)比較慢呢?亦或是文件搜索這塊正好是 peer 的短板呢瞬浓?不管是客觀原因還是主觀原因初婆,都要結(jié)合實(shí)際情況,多方溝通探討可行的解決方法并進(jìn)行追蹤猿棉。
場(chǎng)景六:建議被忽略
針對(duì)一個(gè)問(wèn)題
A:...balabala…(講完自己的思路)
B:...balabala…(提出一種新思路)
A:...coding…(按自己的思路開(kāi)始編碼)
B:...%#@$%&...
…B很懵磅叛,貌似自己的方案更合適吧?怎么就開(kāi)始編碼了呢萨赁?...
關(guān)注并重視自己和peer的感受弊琴。結(jié)對(duì)編程實(shí)踐下,一天的大部分時(shí)間我們都在和peer進(jìn)行協(xié)作杖爽,如果心有隔閡敲董,那么結(jié)對(duì)工作很難順利進(jìn)行下去紫皇,所以在內(nèi)心感到不適的時(shí)候,我們要重視自己的感受腋寨,及時(shí)反饋給對(duì)方并進(jìn)行溝通聪铺,針對(duì)具體情況協(xié)商解決。
針對(duì)不同解決方案要溝通達(dá)成一致再編碼精置。如果結(jié)對(duì)的兩個(gè)人針對(duì)同一個(gè)問(wèn)題分別提出了幾個(gè)方案计寇,這時(shí)要針對(duì)這些方案進(jìn)行溝通,確保雙方都理解了這些方案脂倦,并對(duì)方案的優(yōu)缺點(diǎn)、工作量等有一定的理解元莫,雙方都贊同采用某方案后赖阻,再開(kāi)始編碼,避免實(shí)現(xiàn)到一半再出現(xiàn)分歧踱蠢。這個(gè)過(guò)程中火欧,可以對(duì)每個(gè)方案都從頭到尾梳理一下,能提前識(shí)別一些存在問(wèn)題的方案并過(guò)濾掉茎截。如果針對(duì)要采用的方案無(wú)法達(dá)成一致苇侵,可以考慮暫時(shí)擱置爭(zhēng)論,尋找支持論點(diǎn)的證據(jù)后企锌,再開(kāi)始新一輪的相互說(shuō)服榆浓,也可以考慮引入第三方,TL或在該領(lǐng)域經(jīng)驗(yàn)豐富的組員都是較好的選擇撕攒。
及時(shí)反饋陡鹃。反饋文化是我們所提倡的,可以建立多維度的反饋會(huì)議抖坪,比如peer的某種行為讓我感到不適萍鲸,如果不想打斷工作進(jìn)度且可以接受暫時(shí)不適時(shí),可以選擇一天工作快結(jié)束的時(shí)候再進(jìn)行反饋交流擦俐,總結(jié)一天的工作脊阴,識(shí)別一些做得好或值得深挖、保持的地方蚯瞧。
場(chǎng)景七:按自己的節(jié)奏走
...A啃哧啃哧編碼...無(wú)講解思路...
B:你在不同的文件之間跳來(lái)跳去的嘿期,是在干嘛?
A:我們要修改測(cè)試環(huán)境的配置状知。
...A繼續(xù)啃哧啃哧的編碼...無(wú)講解思路...
B:這又是在干嘛秽五?我們不是要先去查看一下XX方法,然后看看能不能拿到我們想要的結(jié)果嗎饥悴?
A:嗯坦喘,對(duì)盲再。
...A繼續(xù)啃哧啃哧的編碼...無(wú)思路講解...
...B很懵,不知道A的思路是什么瓣铣,也不知道A是按怎樣的順序處理問(wèn)題...
共同貢獻(xiàn)答朋,團(tuán)隊(duì)擁有。結(jié)對(duì)編程實(shí)踐下棠笑,開(kāi)發(fā)軟件功能是兩個(gè)人的事情梦碗,Senior 不要大包大攬獨(dú)自完成,只按照自己的節(jié)奏蓖救,而在沒(méi)有講解思路的情況下忽略了peer是否能跟上洪规。Junior 也要為卡負(fù)責(zé),不懂就問(wèn)循捺,進(jìn)度太快就提出來(lái)斩例,不要獨(dú)自承受壓力。
高頻率的溝通从橘。結(jié)對(duì)編程實(shí)踐下念赶,做卡是兩個(gè)人的事情,這需要高頻率的溝通以確保結(jié)對(duì)的兩個(gè)人都清楚理解該卡的上下文恰力、解決思路以及當(dāng)前正在做的事情是什么叉谜。在講解實(shí)現(xiàn)思路的時(shí)候,要細(xì)致到每一步(參考美食主播講解菜譜的過(guò)程)踩萎,畢竟peer的思路可能完全不同停局。
場(chǎng)景八:表現(xiàn)出被針對(duì)
項(xiàng)目組每周交換一次結(jié)對(duì)伙伴,剛交換結(jié)對(duì)伙伴后驻民,A新加入該功能的開(kāi)發(fā)翻具。
…B給A同步正在實(shí)現(xiàn)的功能的上下文...
A:停,打斷一下回还,這個(gè)方法為什么要先過(guò)濾再遍歷數(shù)組呢裆泳?
B:因?yàn)?..
…B反應(yīng)激烈,聲音拔高...
…A感覺(jué)peer豎起了盾牌...
當(dāng)有新成員加入卡時(shí)柠硕,同步卡的上下文工禾。需要同步卡的范圍(scope),當(dāng)前進(jìn)度蝗柔,是否有阻塞(blocker)等闻葵。在同步的過(guò)程中,講解者能再次梳理卡的內(nèi)容癣丧,有可能發(fā)掘之前忽略的小細(xì)節(jié)槽畔,接聽(tīng)者通過(guò)提問(wèn)等也有可能提出不合理的地方,為卡的質(zhì)量增磚添瓦胁编。
結(jié)對(duì)編程時(shí)厢钧,大家的建議和爭(zhēng)議都是對(duì)事不對(duì)人的鳞尔。在結(jié)對(duì)編程的過(guò)程中,意見(jiàn)并不總是一致的早直。當(dāng)發(fā)生爭(zhēng)議時(shí)寥假,作為被挑戰(zhàn)的一方,應(yīng)該客觀地傾聽(tīng)別人的意見(jiàn)霞扬。如果之前沒(méi)有充分考慮糕韧,要勇于承認(rèn)并接受別人的意見(jiàn),而不是認(rèn)為別人在攻擊自己喻圃,急于辯解并不斷反駁萤彩。即使別人提出的建議很有道理,也不要因維護(hù)自己的虛榮心而拒絕采納斧拍∑故瑁可能團(tuán)隊(duì)成員缺乏足夠的上下文信息,而挑戰(zhàn)只是發(fā)出需要同步上下文的信號(hào)饮焦。要相信別人提出建議是為了讓我們的代碼更加可靠或者需要更多的上下文信息來(lái)理解我們正在做的事情。作為挑戰(zhàn)的一方窍侧,我們需要注意用詞和語(yǔ)氣县踢。我們的目的是提出想法,保證代碼質(zhì)量伟件,而不是通過(guò)發(fā)表建議來(lái)展示自己的能力和不凡硼啤。我們應(yīng)該保持客觀的態(tài)度,使用平和的語(yǔ)氣斧账。如果感到對(duì)方比較排斥谴返,要及時(shí)澄清情況。
場(chǎng)景九:因?yàn)樗饺耸虑殡x開(kāi)
...A正在思考著解決方案咧织,邊思考邊講述著自己的思路...
...B突然離開(kāi)...
…A猜測(cè)B是因?yàn)樗饺耸虑殡x開(kāi)嗓袱,感受很不好...
團(tuán)隊(duì)信任很重要。首先习绢,我們不能主觀評(píng)價(jià)peer離開(kāi)的原因渠抹,也不能評(píng)價(jià)事件的重要性。其次闪萄,我們需要具備基本的職業(yè)素養(yǎng)梧却,盡可能專(zhuān)注于結(jié)對(duì)編程,不在未溝通的情況下無(wú)故離開(kāi)败去,除非情況緊急放航。
在每天開(kāi)始結(jié)對(duì)編程前,要檢查當(dāng)天的日程并同步可結(jié)對(duì)的時(shí)間段圆裕。提前同步可結(jié)對(duì)時(shí)間可以幫助規(guī)劃卡的工作广鳍,例如在兩個(gè)人都能結(jié)對(duì)的時(shí)候確定解決方案荆几,或先實(shí)現(xiàn)一些復(fù)雜邏輯。這樣搜锰,在一個(gè)人離開(kāi)后伴郁,另一個(gè)人可以無(wú)障礙地繼續(xù)編碼,避免遺留下來(lái)的人無(wú)法確定解決方案或無(wú)從下手處理復(fù)雜邏輯蛋叼。
如果需要在結(jié)對(duì)編程過(guò)程中離開(kāi)焊傅,盡量使事情透明。結(jié)對(duì)編程需要兩個(gè)人頻繁互動(dòng)狈涮,因此考慮到peer的感受可以建立良好的關(guān)系狐胎,有利于結(jié)對(duì)編程的順利進(jìn)行。如果我們正在專(zhuān)注于結(jié)對(duì)編程歌馍,因?yàn)橥话l(fā)情況需要離開(kāi)握巢,盡量告知peer,方便的話講清離開(kāi)的原因及預(yù)計(jì)返回時(shí)間松却,這是對(duì)他人的一種尊重暴浦。
相信 peer 是專(zhuān)注于結(jié)對(duì)編程的。在專(zhuān)注于結(jié)對(duì)編程的同時(shí)晓锻,我們也要相信 peer 也是專(zhuān)注于結(jié)對(duì)編程的歌焦。如果peer在沒(méi)有通知的情況下離開(kāi),我們應(yīng)該相信是因?yàn)榍闆r緊急而沒(méi)有來(lái)得及通知砚哆,而不是因?yàn)楣ぷ鲬B(tài)度有問(wèn)題独撇。
離開(kāi)的人回來(lái)后,留下的人應(yīng)該主動(dòng)同步這期間的代碼改動(dòng)等躁锁。代碼改動(dòng)等同步可以讓peer了解卡的最新?tīng)顟B(tài)纷铣,方便在下一步的編碼中提出有效的建議。如果留下的人沒(méi)有主動(dòng)同步战转,離開(kāi)的人也要主動(dòng)詢問(wèn)改動(dòng)內(nèi)容搜立,以便及時(shí)將注意力集中到當(dāng)前的任務(wù)上。
場(chǎng)景十:peer 分心做其他事
...A在講解一個(gè)解決方案的思路匣吊,講著講著發(fā)現(xiàn)B在看手機(jī)...瞬間沒(méi)有講解的欲望了儒拂,那自己繼續(xù)編碼吧...
...過(guò)了一會(huì)…
B:你剛才說(shuō)什么?
...A偷偷嘆了一口氣色鸳,把剛才講的內(nèi)容重復(fù)了一遍...
A:我們這是不是應(yīng)該提取個(gè)方法呢社痛?
...等了20s左右無(wú)回應(yīng),轉(zhuǎn)頭一看命雀,B在瀏覽網(wǎng)頁(yè)...
...過(guò)了一會(huì)…
B:現(xiàn)在到哪了蒜哀?
A:......
在進(jìn)行結(jié)對(duì)編程時(shí),應(yīng)盡量避免分心。不要進(jìn)行類(lèi)似閱讀郵件或使用手機(jī)等的活動(dòng)撵儿,要專(zhuān)注于結(jié)對(duì)編程乘客。如果出現(xiàn)特殊情況需要隨時(shí)查看郵件來(lái)確認(rèn)某件事情,就應(yīng)提前溝通淀歇,讓這個(gè)事情透明化易核,而不是等到出現(xiàn)矛盾時(shí)才采取事后措施。
在規(guī)劃結(jié)對(duì)編程時(shí)間時(shí)浪默,要預(yù)留一些時(shí)間牡直。確保每個(gè)人都有足夠的時(shí)間閱讀自己的電子郵件。
總結(jié)展望 ??????
結(jié)對(duì)編程是一項(xiàng)需要團(tuán)隊(duì)合作的實(shí)踐纳决,也是一項(xiàng)復(fù)合技能碰逸,應(yīng)用場(chǎng)景十分廣泛,不能一一列舉阔加。我們應(yīng)該在結(jié)對(duì)編程中不斷磨練這項(xiàng)技能饵史,提高結(jié)對(duì)編程的體驗(yàn)和價(jià)值。同時(shí)胜榔,在遇到困難時(shí)胳喷,也要敢于迎難而上,尋找解決方案夭织。
最重要的是厌蔽,我們應(yīng)該認(rèn)識(shí)到結(jié)對(duì)編程是一項(xiàng)團(tuán)隊(duì)實(shí)踐,遇到的任何問(wèn)題都可以從團(tuán)隊(duì)中尋求幫助摔癣。
推薦閱讀
- 請(qǐng)停止結(jié)對(duì)編程
- 結(jié)對(duì)編程踩坑指南
- 7個(gè)你需要知道的結(jié)對(duì)禮儀
- 讓結(jié)對(duì)編程更有效的十種方法
- 結(jié)對(duì)編程的正確姿勢(shì),你會(huì)了嗎纬向?
文/Thoughtworks 廖雪青
原文鏈接:https://insights.thoughtworks.cn/pair-programming-scenarios/