[Twisted-Python] Twisted at PyConUK 2013
Phil Mayers
p.mayers at imperial.ac.uk
Wed Sep 18 10:02:10 MDT 2013
On 17/09/13 19:08, Glyph wrote:
> On Sep 17, 2013, at 10:43 AM, Phil Mayers <p.mayers at imperial.ac.uk
> <mailto:p.mayers at imperial.ac.uk>> wrote:
>
>> On 17/09/13 17:05, exarkun at twistedmatrix.com
>> <mailto:exarkun at twistedmatrix.com> wrote:
>>
>>>> p.s. the "How to review" docs on Trac are AWFUL if you've never done
>>>> one before. It assumes a *hell* of a lot of prior knowledge. There
>>>> needs to be a single page checklist for first-time reviewers.
>>>
>>> This is in progress.
>>
>> Awesome; would it be useful for me to write up what I did, or do you
>> have enough source material?
>
> Let's have a discussion here on the list first :-). So... yes, write it
> up in a reply.
>
> The review docs are always in progress. Feedback like "this is bad" is
> basically useless; we know it's bad, but everyone has its own idea of
> what "bad" means. What would be really useful in such a write-up was
> specific feedback about what you needed to know, what resources you
Yeah, sorry - not great feedback there.
In brief: Twisted reviews are obviously very comprehensive, encompassing
test passed and coverage, coding style, api design and documentation as
well as subjective opinion.
You need a bunch of tools to get started, and have to do a few
boilerplate things to get setup, and I think a really *really* basic
setup doc, followed by a handholding checklist, would form a better
basis for a first-time reviewer.
So specifics:
The Trac ReviewProcess page starts off well, but loses coherence about
half-way through - the first 3 sections are about authoring a change,
then you get a "Reviewers: how to review (see below) and some link-free
bullet points", then back to "Authors": then the "Details" section which
starts with "news files" and it's all a bit uncertain who this applies
to on a first pass - I had to read it several times, which makes people
feel dumb.
Minor note: the "How to review a change" is missing an obvious link to
the coding standards.
Suggestion: split this page into 3 pages - Authoring, Reviewing,
Committing. Have a master page "Twisted overall process" which links to
the 3 pages. It's valuable for a reviewer to know the authoring process
- the mindset is helpful - but a "mode change" should be accompanied by
an actual "input" change.
Suggestion for the "Review" page: this should be:
1. Setting up a review environment - I think this is really important.
People who know the process can and will do things their own way, but a
really basic setup like:
virtualenv twrev
. twrev/bin/active
pip install twisted-reviewtools << make this!
svn checkout blah
twrev/bin/python blah/setup.py install
twrev/bin/trial twisted
...would save first-timers some hassle.
2. Checking out the branch to review and getting it in a review-able
state (what do people do here - run from inside the branch dir? install
to a virtualenv?)
3. Running basic checks - tests, pyflakes, twistedchecker - and
interpreting the results. In particular, techniques for ignoring the
flakess/checker output for unchanged files.
4. Reviewing the diff:
* How to check docstrings
* How to evaluate test coverage
5. How to provide feedback - form, tone, avoiding bikeshedding (or not)
Then link to some "best practice" examples of previous tickets - one or
two that show a good set of review comments - for people to peruse.
Hope this is useful. I probably am overstating how painful it was - I
did get it done after all, and it'll be easier 2nd time around - but you
guys keep saying you want more reviewers ;o)
More information about the Twisted-Python
mailing list