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