git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Haggerty <mhagger@alum.mit.edu>
To: John Keeping <john@keeping.me.uk>
Cc: Junio C Hamano <gitster@pobox.com>,
	Ramkumar Ramachandra <artagnon@gmail.com>,
	Git List <git@vger.kernel.org>,
	Jonathan Nieder <jrnieder@gmail.com>,
	A Large Angry SCM <gitzilla@gmail.com>
Subject: Re: [PATCH] Documentation/CommunityGuidelines
Date: Tue, 11 Jun 2013 20:52:05 +0200	[thread overview]
Message-ID: <51B771D5.6030809@alum.mit.edu> (raw)
In-Reply-To: <20130611182936.GM22905@serenity.lan>

On 06/11/2013 08:29 PM, John Keeping wrote:
> On Tue, Jun 11, 2013 at 10:00:56AM -0700, Junio C Hamano wrote:
>> Michael Haggerty <mhagger@alum.mit.edu> writes:
>>> * When reviewing other peoples' code, be tactful and constructive.  Set
>>> high expectations, but do what you can to help the submitter achieve
>>> them.  Don't demand changes based only on your personal preferences.
>>> Don't let the perfect be the enemy of the good.
>>
>> I think this is 30% aimed at me (as I think I do about that much of
>> the reviews around here).  I fully agree with most of them, but the
>> last sentence is a bit too fuzzy to be a practically useful
>> guideline.  Somebody's bare minimum is somebody else's perfection.
>> An unqualified "perfect is the enemy of good" is often incorrectly
>> used to justify "It works for me." and "There already are other
>> codepaths that do it in the same wrong way.", both of which make
>> things _worse_ for the long term project health.
> 
> One thing that I think is missing from these proposals so far is some
> clear indication that a review should not be confrontational.  Consider
> the following two review comments (taken from a recent example that
> happened to stick in my mind, but I don't want to single out any one
> individual here):
> 
>     Ugh, why this roundabout-passive-past tone?  Use imperative tone
>     like this:
> 
>         ...
> 
> vs.
> 
>     We normally use the imperative in commit messages, perhaps like
>     this?
> 
>         ...
> 
> Both say the same thing but the first immediately puts the submitter on
> the defensive.  If I see something like that on one of my patches I have
> to consciously resist the urge to reply immediately and instead review
> what I'm about to send once I've calmed down.

That's a very good point (and a good illustration, too).  How do you
like the new second and third sentences below?

* When reviewing other peoples' code, be tactful and constructive.
Remember that submitting patches for public critique can be very
intimidating and when mistakes are found it can be embarrassing.  Do
what you can to make it a positive and pleasant experience for the
submitter.  Set high expectations, but do what you can to help the
submitter achieve them.  Don't demand changes based only on your
personal preferences. Don't let the perfect be the enemy of the good.

(As Junio pointed out, the last sentence is not so great and a better
replacement would be welcome.)

> As my mother would say, "politeness costs nothing" ;-)

Does your mother program C?  We could use her around here :-)

Michael

-- 
Michael Haggerty
mhagger@alum.mit.edu
http://softwareswirl.blogspot.com/

  parent reply	other threads:[~2013-06-11 18:52 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-10 13:28 [PATCH] Documentation/CommunityGuidelines Ramkumar Ramachandra
2013-06-10 13:50 ` Célestin Matte
2013-06-10 14:04   ` Matthieu Moy
2013-06-10 16:25     ` Robin H. Johnson
2013-06-10 17:42       ` Junio C Hamano
2013-06-10 19:01         ` Jonathan Nieder
2013-06-10 19:45           ` Ramkumar Ramachandra
2013-06-10 20:41             ` A Large Angry SCM
2013-06-10 20:56               ` Ramkumar Ramachandra
2013-06-10 21:09                 ` A Large Angry SCM
2013-06-11  5:16         ` Felipe Contreras
2013-06-11  8:56         ` Ramkumar Ramachandra
2013-06-11  4:41 ` Michael Haggerty
2013-06-11  6:28   ` Felipe Contreras
2013-06-11 10:45   ` Ramkumar Ramachandra
2013-06-11 11:49     ` Felipe Contreras
2013-06-11 12:33     ` Thomas Rast
2013-06-11 13:40       ` Ramkumar Ramachandra
2013-06-11 14:40         ` Michael Haggerty
2013-06-11 15:34           ` Felipe Contreras
2013-06-11 18:16           ` Ramkumar Ramachandra
2013-06-11 18:43             ` Michael Haggerty
2013-06-11 18:55               ` Ramkumar Ramachandra
2013-06-11 19:06                 ` Junio C Hamano
2013-06-11 19:39                   ` Felipe Contreras
2013-06-11 23:48               ` Felipe Contreras
2013-06-11 19:55           ` Brandon Casey
2013-06-12 11:56         ` Theodore Ts'o
2013-06-12 12:29           ` Ramkumar Ramachandra
2013-06-12 13:58           ` Felipe Contreras
2013-06-11 15:06       ` Felipe Contreras
2013-06-11 15:41         ` Thomas Rast
2013-06-11 15:52           ` Felipe Contreras
2013-06-11 16:10   ` Thomas Rast
2013-06-11 16:17     ` Felipe Contreras
2013-06-11 17:00   ` Junio C Hamano
2013-06-11 18:24     ` Michael Haggerty
2013-06-11 18:29     ` John Keeping
2013-06-11 18:46       ` Ramkumar Ramachandra
2013-06-11 19:54         ` John Keeping
2013-06-12 11:26           ` Ramkumar Ramachandra
2013-06-12 13:14             ` John Keeping
2013-06-11 18:52       ` Michael Haggerty [this message]
2013-06-11 19:19         ` John Keeping
2013-06-11 19:46         ` Philip Oakley
2013-06-12  0:08           ` John Szakmeister
2013-06-12 14:49           ` Jakub Narebski
2013-06-12 20:54             ` Philip Oakley
2013-06-11 19:35       ` Felipe Contreras
2013-06-11 20:33     ` Jeff King
2013-06-11 20:55       ` Junio C Hamano
2013-06-11 23:19         ` Felipe Contreras
2013-06-12 12:27           ` Theodore Ts'o
2013-06-12 14:06             ` Felipe Contreras
2013-06-12 12:03       ` Ramkumar Ramachandra
2013-06-12 20:02   ` Junio C Hamano
2013-06-13  3:45     ` Michael Haggerty
2013-06-13  4:22       ` Junio C Hamano
2013-06-11  5:38 ` Felipe Contreras
2013-06-11 11:11   ` Ramkumar Ramachandra
2013-06-13 10:19 ` Thomas Adam
2013-06-13 13:36   ` Felipe Contreras
2013-06-14  9:48   ` Christian Couder

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51B771D5.6030809@alum.mit.edu \
    --to=mhagger@alum.mit.edu \
    --cc=artagnon@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=gitzilla@gmail.com \
    --cc=john@keeping.me.uk \
    --cc=jrnieder@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).