[LRUG] "Designer code": with Ruby refactoring exercises

Sam Livingston-Gray geeksam at gmail.com
Fri Jan 7 09:45:25 PST 2011

> Date: Fri, 7 Jan 2011 09:53:45 +0000
> From: Priit Tamboom <priit at mx.ee>
> To: London Ruby Users Group <chat at lists.lrug.org>
> Subject: Re: [LRUG] "Designer code": with Ruby refactoring exercises
> Morning!
>> 6:30pm in Southwark. It's called "Designer Code", and is all about how we
>> can design our code to have great User Experience. There'll be some fun ruby
>> refactoring exercises to do as part of the workshop.
> Thanks for organisers, it was really nice and useful refactoring
> exercise indeed.
> By the way, it was my first pair programming experience and I kind of
> failed cos using different tools and flavours (like Dvorak'ish
> keyboard, linux os, no mac and vim with some .vimrc love etc.)
> What bothers me personally is that all those teams who are doing
> ping-pong, pair or other fancy stuff are using SINGLE machine only per
> pair. Basically it means I or other team members don't have much
> freedom left for developing own comfortable working environment.
> Basically now I should start worry about what is the latest "popular"
> flavours out there etc, what a nuisance.
> End of day, I just want to crack out good code and really not worry
> about the layer of desktop harmonization.
> Does anybody got statistics to show how many and what type of teams
> really using pair style?
> Cheers,
> Priit

No statistics, but an anecdote or two from the States.  My team does a
lot of pair programming (I'd guess >75% of production code is written
in pairs), and we're almost evenly split between vim and textmate
users.  We're a Mac shop, but we do have two contractors who use their
own Linux machines.  There's definitely a feeling of being at someone
else's computer that I'd like to work on -- this is made significantly
stronger by the fact that half of us work at standing desks -- but
most of us work well enough together, and have done so for long
enough, that it generally works out.  There used to be a much stronger
tradition of ping-pong pairing, back when there were three developers
on the team; we now have seven and it tends to be much more the case
that the person whose desk it is does more of the driving.

In all, it's been a positive experience.  We all tend to learn just
enough of each others' editors to be able to enter our own code, and
when we don't know how to trigger a more advanced feature ourselves,
we can just ask our pair partner.  And, having been a TextMate
apologist for many years, I'm starting to consider learning vim after
seeing it used well in person (as well as a rash of detailed howtos
and blog posts on the topic).

I used to work at a place that was a mix of Windows, Linux and Mac,
evenly split between vim and emacs; they wrote 95% of code in pairs (I
was left alone to write code a few times, but we always did a review
before merging).  That, too, worked reasonably well for most people.
(Full disclosure:  I quit after five weeks; being paired with someone
with awful pairing and social skills was a major contributing factor.)

I've also interviewed at a place where all developers had their own
MacBook Pros, and all production code was done on 24" iMacs which were
controlled using Teleport; this let people use their own keyboards,
but with (obviously) a standardized dev environment.  Didn't get a
great sense for how that worked on an ongoing basis, though.


More information about the Chat mailing list