關於對編程的高質量文章(和 Podcast)的鏈接集合。
我們沒有寫這些指南,但無論如何你應該閱讀它們。
by Birgitta Böckeler and Nina Siessegger
這是一個 extremely 關於該主題的徹底文章。它涵蓋了常用對配對的爭論的技術,令人信服的好處和實用解決方案。
配對感覺很難 - 但這並不一定意味著這對球隊不利。最重要的是,它不必保持困難。
它開始作為策劃和人群的內部滑塊,所以它充滿了真實體驗的質量建議:
不同的技能水平
當兩個人在一個主題上對有不同的體驗層次對時,這通常會導致錯誤假設,因為它們在速度差異的情況下,他們每個人都可以貢獻或挫折。
Ways to tackle
If your pair has more experience on the topic: Don't assume they know best. Maybe the need to explain why they are doing things the way they are will bring them new insights. Asking questions on the how and why can lead to fruitful discussions and better solutions. [...]
The detailed explanations and examples make this article a must read.
by James Shore
This article is worth reading if only for the 99-word summary of pairing at the top:
It's more fun than it sounds: two programmers at one computer. One drives; the other navigates. Switching roles fluidly, they constantly communicate. Together, they accomplish better work more quickly than either could alone.
The driver types. She focuses on tactics--writing clean code that compiles and runs. The navigator focuses on strategy--how the code fits into the overall design, which tests will drive the code forward, and which refactorings will improve the entire codebase.
Pairs self-organize by selecting partners who can best help with the current task. They switch every few hours to share perspectives and knowledge.
Beyond that, James' guide is packed full of quality advice, written with the voice of experience:
When you start pairing, expect to feel clumsy and fumble-fingered as you drive. You may feel that your navigator sees ideas and problems much more quickly than you do. She does—navigators have more time to think than drivers do. The situation will reverse when you navigate. Pairing will feel natural in time.
As navigator, help your driver be more productive. Think about what's going to happen next and be prepared with suggestions. When I'm navigating, I like to keep an index card in front of me. Rather than interrupting the driver when I think of an issue, I write my ideas on the index card and wait for a break in the action to bring them up. At the end of the pairing session, I tear up the card and throw it away.
by Jeff Dickey
This post is worth reading because it's someone who started off skeptical of pairing, tried pairing with experienced devs, and discovered he really enjoyed the experience.
Jeff's post is full of practical advice from someone who's put the time in.
Some highlights:
Don't expect just because you can program you can pair […]
Try to do it each and every week. Don’t expect it to go swimmingly every time, but trust that once you and your team get the hang of it the edges will be roughed out.
While you are pairing, the number one thing to keep in mind is “Is my pair engaged?” or “Am I engaged with my pair?” usually the person that’s driving will be more engaged, and switching it is one technique to help bring yourself or your pair back into the action.
The goal of pairing is always to learn. Whether it’s to learn about the programming language, learn about the company, learn about your coworker, learn about the project, or learn how to pair in general, you should be learning something new the whole time.
by Rapid7
Unlike the other links in this article which cover pairing broadly, this post focuses on etiquette during your pairing session.
The five rules:
- Agree on the physical environment beforehand
- When talking about code, always refer to line number and file name
- When disagreeing, talk in terms of benefit
- When feeling ill at ease, say so
- Bestow as many compliments as possible
I find the first rule least compelling of the bunch, but the remainder are great.
Yours truly, on the Full Stack Radio podcast.
Topics covered:
- The benefits of pairing with someone more experienced than you
- The benefits of pairing with someone less experienced than you
- How pairing helps you build things faster
- Why pairing often removes the need for code review
- How to get started with pairing if you've never done it before
{% include navigation-buttons.html previous-title="Scientific Research" previous-url="/pair-programming-guide/scientific-research-into-pair-programming" next-title="Pairing on Elixir, Phoenix, Elm" next-url="/pair-programming-guide/elixir-phoenix-elm" %}
解決方案的方式
如果您對主題有更多的經驗:不要認為他們最了解。也許需要解釋為什麼他們正在以他們的方式做事將帶來新的洞察力。提出關於如何以及為什麼會導致富有成效的討論和更好的解決方案的問題。 [...]
詳細說明和示例使本文必須讀取。
by詹姆斯肖爾
如果僅適用於頂部的99字摘要,則這篇文章值得閱讀:
它比聽起來更有趣:一台電腦的兩個程序員。一個驅動器;另一個導航。流動切換角色,它們不斷溝通。在一起,他們比孤單更快地完成更好的工作。
驅動程序類型。她專注於_teractics _--寫入編譯和運行的清潔代碼。 Navigator側重於_strategy _--代碼如何適合整體設計,該測試將轉發代碼,以及哪些重構將改善整個代碼庫。
通過選擇最佳幫助的合作夥伴,對自組織自組織。他們每隔幾個小時切換一次以分享觀點和知識。
除此之外,詹姆斯的指南充滿了質量建議,用經驗的聲音寫作:
當你開始配對時,期待感到笨拙和摸索著你 開車。您可能會覺得您的導航員看到想法和問題 比你快。她做的導航員有更多的時間來思考司機 做。導航時,情況會逆轉。配對會感到自然 及時。
作為導航器,幫助您的司機更加富有成效。想想發生了什麼 接下來發生並用建議編寫。當我在導航時,我喜歡 將索引卡放在我面前。而不是打斷司機 當我想起問題時,我在索引卡上寫下我的想法並等待一個 打破行動,讓他們起來。在配對會話結束時,我 撕毀卡片並扔掉它。
by jeff dickey
這篇文章值得閱讀,因為它是一個開始持懷疑態度的人,試圖與經驗豐富的開發人員配對,並發現他真的很喜歡這種經驗。
傑夫的帖子充滿了一個被推進時間的人的實際建議。
一些亮點:
不要期待只是因為你可以編程你可以配對[…]
每週都嘗試這樣做。不要指望他們每次游泳 時間,但相信一旦你和你的團隊得到它的邊緣將會 粗暴。
雖然你是配對,請記住的數字是“是我的一對 訂婚?“或者“我和我的一對訂婚了嗎?”通常是駕駛的人 將更加訂婚,並切換它是一種幫助帶來的技術 自己或你的一對恢復行動。
配對的目標總是要學習。是否要了解這一點 編程語言,了解公司,了解您的同事, 了解項目,或者學習如何常常配對,您應該是 學習新的時間。
by rapt7
與本文中的其他鏈接不同,該鏈接覆蓋廣泛,這篇文章在配對會話期間側重於禮儀。
五條規則:
1.事先同意物理環境 1.在談論代碼時,請始終引用行號和文件名 1.在不同意時,在利益方面談話 1.當感到輕鬆生病時,這麼說 1.盡可能多的恭維
我找到了第一個規則最不引人注目的束,但其餘的很棒。
你真的,在