總結(jié)編程過程中的一些誤區(qū)
在過去的幾年里,有過許多結(jié)對(duì)編程的經(jīng)歷。有時(shí)在團(tuán)隊(duì)里進(jìn)行,有時(shí)在客戶那里,有時(shí)在coding dojo(一種編程模式,幾個(gè)程序員一起合作完成一個(gè)任務(wù)),有時(shí)在我的開源項(xiàng)目里。對(duì)于那些知道如何結(jié)對(duì)編程的程序員來說,這種模式很棒,很高效。
但是你不能指望在兩個(gè)程序員面前擺臺(tái)電腦,就指望他們一開始就做得很棒。結(jié)對(duì)編程需要學(xué)習(xí),程序員需要知道實(shí)施者(敲鍵盤的人)和領(lǐng)航員之間的區(qū)別。下面來看看些細(xì)節(jié)。
在結(jié)對(duì)編程中,我遇到了一些誤區(qū),列在下面。
一、領(lǐng)航員誤區(qū)
1. 發(fā)號(hào)施令者
喜歡發(fā)號(hào)施令的人總是對(duì)敲鍵盤的人說:“到末行,加個(gè)反括號(hào),然后…”。他不去關(guān)注解決方法和下一步該怎么做,而過度關(guān)注一些編程細(xì)節(jié)。
事實(shí)上,他希望他自己來掌控鍵盤。所以當(dāng)你碰到一個(gè)喜歡發(fā)號(hào)施令的人,那么將鍵盤交給他吧,轉(zhuǎn)換領(lǐng)航員的角色。
2. 拼寫糾錯(cuò)者
拼寫糾錯(cuò)者坐在你旁邊,糾正你輸入的每個(gè)錯(cuò)誤字符。當(dāng)然,他沒有時(shí)間來真正的進(jìn)行導(dǎo)航。
和糾錯(cuò)者商量一下,當(dāng)他給你糾錯(cuò)的時(shí)候讓他請(qǐng)你喝一杯咖啡(或者任何你想要的東西)。
3. 吹毛求疵者
吹毛求疵者會(huì)指責(zé)你寫的每行代碼。當(dāng)他的意見正確時(shí),他會(huì)一意孤行,不用你已經(jīng)寫好的代碼,而完全照著他的想法。
就如自由爵士音樂人都是復(fù)用其他樂隊(duì)成員的音符,來構(gòu)造成一首曲子一樣,好的結(jié)對(duì)編程也應(yīng)基于現(xiàn)有的基礎(chǔ)上進(jìn)行推進(jìn)。
試著轉(zhuǎn)換角色,也許吹毛求疵者就會(huì)變成一個(gè)目中無人的人。
4. 默不作聲者
默不作聲者是那些幾乎不發(fā)表意見的人。他僅僅坐在那里看著你工作。
試著問下他對(duì)你的方法有什么意見,或者問他下一步該寫什么測試代碼。
評(píng)論