【正文】
但適應(yīng)后的 Pairs的開發(fā)質(zhì)量,開發(fā)時間都應(yīng)該比 Solo Programming有大幅度的改善。 25 Pair Programming是個漸進(jìn)的過程 有效率的 Pair Programming不是一天就能做到的。而獨(dú)立工作的學(xué)生也可以專著和緊湊的工作,但往往不持續(xù)。而獨(dú)立工作的學(xué)生需要花費(fèi)比 Pairs更多的時間來達(dá)到接近的代碼質(zhì)量。 和 Pair Programming的共性: ? 有效的 Code Review ? Collective code ownership 22 Distributed Pair Programming 分布式的 Pair Programming: ? 兩個 Programmers身處不同的物理位置,通過 Sharing 軟件來實(shí)現(xiàn) Pair Programming。 ? 沒有 Pair Programming, Communication很容易弱化,進(jìn)而影響 Team work。 ? Pair一起加班 19 沒有 Pair Programming就沒有 XP ? Pair Programming是 XP所有的 Practices中最被爭議和被認(rèn)為是最難接受。每個 Task都應(yīng)該和不同的 Developer配對。沒有“我的Code”、”你的 Code”或“她的 Code”,只有“我們的 Code”。 ? Driver和 Navigator不斷輪換角色,不要連續(xù)工作超過一小時,每一小時休息 15分鐘。 16 XPer的素質(zhì) 一個 XPer應(yīng)該具備這樣一些基本素質(zhì):誠實(shí),公正,開明,勇敢和 謙卑 !在這些素質(zhì)的基礎(chǔ)之上,才是對技術(shù)水平,能力和天分等的要求。這種要求不是技術(shù)水平,也不是學(xué)歷水平也不是工作經(jīng)驗(yàn)。當(dāng)人在一個團(tuán)隊(duì)中工作,總是下意識的努力展現(xiàn)自己的優(yōu)點(diǎn)。由于這種督促的壓力,使得程序員更認(rèn)真的工作。 Pair Programming避免了“我的 Code”,使得代碼的責(zé)任不屬于某個人,而是屬于一個 Pair和整個 Team,從而做到 Collective Code Ownership,也避免個人英雄主義。好的代碼可以減少修改的成本。結(jié)合 Collective code ownership和小的 Task (Small Engineering Task),代碼被不斷的 Review。 6 為什么要 Pair Programming “ The Human eye has an almost infinite capability for not seeing what it does not want to see…… Programmers, if left to their own devices, will ignore the most glaring errors in their outputerrors that anyone else can see in an instant.” Gerald Weinberg “ Knowledge is monly socially constructed through collaborative efforts toward