On 21/03/15 18:58, Matthew Toseland wrote:
> On 21/03/15 17:45, Ian Clarke wrote:
>> Talking to a few people, I think our current approach to code review is
>> problematic.
>>
>> For example, I've been told that some people are arguing that commits are
>> too granular, and need to be combined to make code review easier. This is a
>> mistake, there is nothing wrong with very granular commits, just as there
>> is nothing wrong with more verbose code if it helps clarity.  Pull requests
>> should be used for code review, not individual commits.  The number of
>> individual commits should be irrelevant.
>>
>> It sounds like people are trying to use commits for code review, whereas
>> they should be using Github pull requests.
>>
>> Here is a process that has worked well in my experience:
>>
>>    - For any isolatable feature or bugfix, create a new branch just for
>>    that feature or bug request (perhaps put the bug id # in the name of the
>>    branch).  *Do not combine multiple features or bugfixes into a single
>>    branch.*  If it can be merged independently, it should have it's own
>>    branch.
>>    - Commits to this branch can be as granular as the programmer wants,
>>    generally the more frequent the commits the better
>>    - When the programmer is ready for feedback, they should create a pull
>>    request between this branch and the main branch - they could post the URL
>>    of the pull request to IRC to encourage feedback
>>    - It's fine for a programmer to request feedback before the feature is
>>    complete, but they should note this in the title of the pull request - eg.
>>    "DO_NOT_MERGE"
>>    - For code review, the most useful tab is "Files changed" - which shows
>>    all differences between the feature branch and the main branch (individual
>>    commits are irrelevant here) - comments can be added here
>>    - Once the feature is complete and the review feedback has been read and
>>    perhaps acted upon by the programmer working on the feature, it should be
>>    merged
>>
>> The person contributing the code is responsible for asking for and
>> incorporating feedback, but they control the process, the process should
>> not control them.  So, for example, in some cases the programmer might
>> decide that a code review is unnecessary.  That will be their call.  Better
>> to trust human judgement over a rigid process.
>>
>> Thoughts?
>>
>> Ian.
> Most of the above boils down to "review the diff, not the history". That
> is probably sensible.
It implies that the RM's can reasonably ask for some sort of guide to
the changes to make diff-level review of big patches easier.
> The last point is "everyone can commit anything without review". That's
> the fundamental question here: Do we want to require that some
> responsible person (release manager, person with push rights) reviews
> and signs off on the code before it is pushed?
>
> There are 2 main reasons for this:
> 1. Security. How useful this is is debatable.
> 2. Disruptive changes to APIs.


Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Devl mailing list
Devl@freenetproject.org
https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to