Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Pair programming [ was: Re: [tlug] [OT] Good IT Resume



On 29/07/07, Stephen J. Turnbull <stephen@example.com> wrote:

> Josh Glover writes:
>
>  > Code reviews at Amazon mean sending a request with our automated
>  > review tool,
>
> That's not a "code review" as understood in the software engineering/
> consulting literature (eg, the SEI stuff, Watts Humphrey, you know).
> As used in that literature, a code review most definitely implies a
> meeting, with an assigned chair and a specific agenda.

Interesting. I was unaware of that. Is the SEI stuff worth reading, or
is it overly academic and thus not of much use in the wild?

> I don't care if you wish to use a different definition of the term
> (since you gave it explicitly),

No; at Amazon, the process that I described is explicitly called "code review".

> but be aware that your response to
> Curt has the semantics of "at Amazon we dispense with code reviews,
> too" rather than "at Amazon we do code reviews right".

Thank you for highlighting the disconnect.

I really think one of the main causes of disagreement in this
discussion is imprecise language; I actually agree with 90% of what
Curt says, once I figure out what it is that he is saying. The only
XP-ism that I outright reject is the lack of a "proper" spec, and I
treat the utility of PP with extreme scepticism (i.e. I believe it has
its uses, just that they are not as widespread as Curt claims).

I wonder what, once Curt has understood precisely what I *mean*, he
will flat-out disagree with from me. I suspect that the spec and PP
issues are the only true gulfs from his POV as well, but I am putting
words in his mouth. Curt?

> If you would accept a suggestion, I would call the process you
> describe a version of "peer review".

Well, I cannot change the terminology, since it is in widespread use
at Amazon. And I think that "code review" precisely describes what is
going on here, one or more engineers are reviewing your code.

It is just unfortunate that there is a namespace collision[1] of which
I was not aware until you just pointed it out.

I think I should just take care to qualify what I mean by "code
review" when I talk to non-Amazonians.

Cheers,
Josh

[1] http://en.wikipedia.org/wiki/Code_review
     Interesting. It looks like what you are talking about is "formal
code review", which, according to the Wikipedia article[2], is the
"older, traditional method of review, in which software developers
attend a series of meetings and review code line by line, usually
using printed copies of the material." Whereas what I am talking about
is "lightweight code review", which "typically requires less overhead
than formal code inspections, though it can be equally effective when
done properly." Also note in this article the explicit mention of XP:
[3] "The Extreme Programming (XP) approach includes the practice of
pair programming, which can be argued to be code review during
development. XP proponents argue that other XP practices, such as
refactoring and creating tests before even writing the code, produces
code that doesn't need to be reviewed or rewritten as often and thus
speeds software development." Of course, I think my feelings on this
subject have been made pretty clear... but that won't stop me from
saying it again: I enjoy many of the tasty ingredients of XP, but I
refuse to drink the Kool-aid.
[2] http://en.wikipedia.org/wiki/Code_review#Types
[3] http://en.wikipedia.org/wiki/Code_review#Criticism


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links