Merge lp:~gary/juju-gui/process into lp:juju-gui/experimental

Proposed by Gary Poster
Status: Merged
Merged at revision: 218
Proposed branch: lp:~gary/juju-gui/process
Merge into: lp:juju-gui/experimental
Diff against target: 104 lines (+71/-12)
1 file modified
docs/process.rst (+71/-12)
To merge this branch: bzr merge lp:~gary/juju-gui/process
Reviewer Review Type Date Requested Status
Juju GUI Hackers Pending
Review via email: mp+132493@code.launchpad.net

Description of the change

Add more review docs

Docs for starting a branch, preparing a branch for review, and reviewing.

Revised with better ReST format.

Self-approved.

To post a comment you must log in.
Revision history for this message
Gary Poster (gary) wrote :

Please take a look.

Revision history for this message
Gary Poster (gary) wrote :

*** Submitted:

Add more review docs

Docs for starting a branch, preparing a branch for review, and reviewing.

Self-approved.

Revision history for this message
Gary Poster (gary) wrote :

*** Submitted:

Add more review docs

Docs for starting a branch, preparing a branch for review, and reviewing.

Revised with better ReST format.

Self-approved.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'docs/process.rst'
2--- docs/process.rst 2012-10-05 09:42:27 +0000
3+++ docs/process.rst 2012-11-01 10:08:31 +0000
4@@ -2,21 +2,79 @@
5 Process Notes
6 =============
7
8+Checklist for Starting a Branch
9+===============================
10+
11+- Understand the problem. If you don't, ask and be persistent until you do.
12+- When determining a solution, consider this preferred Software
13+ Architecture Cheat Sheet:
14+ http://gorban.org/post/32873465932/software-architecture-cheat-sheet
15+- Have a pre-implementation call with someone about your solution. If you
16+ are not sure of your solution, prototype before the pre-implementation call.
17+- Use TDD. Your prototype might be perfect, but you can still move it aside
18+ and rebuild it gradually as you add tests. It can go quickly.
19+
20+Checklist for Preparing for a Review
21+====================================
22+
23+- Round-trips with reviewers are expensive. Try to eliminate them.
24+ * Pre-review your diff! Tip: you can diff your branch against a local
25+ trunk named "trunk" with "bzr diff -r ancestor:../trunk/".
26+ ~ All new code should have tests. If it doesn't, be prepared to explain
27+ why to skeptical reviewers.
28+ ~ Have you cleaned out temporary comments and debugging changes?
29+ ~ Is the code understandable?
30+ ~ Do you have superfluous or duplicated code?
31+ * Run tests! Someday we'll have that in the lbox hook...
32+- Make sure there is a bug for your branch. Ideally there was one when you
33+ started, but if not, see the "-new-bug" option to "lbox propose".
34+- Aim for a branch diff size between 300 and 500 lines.
35+- Treat branch diff sizes of more than 800 lines as a problem.
36+ ~ Try to subdivide it now. If you can't, explain to your reviewers your
37+ reasoning.
38+ ~ Treat this as an opportunity to learn. Consider what you could have
39+ done differently.
40+- If the branch is very minor, such as a documentation change, feel free to
41+ self-review. However, *don't neglect to consider your responsibilities
42+ above*, especially the diff review and running tests (even if you think
43+ there's no way the tests could have been affected).
44+
45+It is your responsibility to get reviewers of your branch! Reviewers will
46+hopefully take it, but if they don't, rustle some up.
47+
48+When you get your reviews back, be appreciative, and be sure to respond to
49+every request, even if it is to disagree.
50+
51+Once you have two approving reviews (and no disapproving reviews), you may
52+land your branch.
53+
54 Checklist for Reviewing
55 =======================
56
57-- Get an idea of what the branch is doing from the diff.
58-- Run ``make test`` and confirm that tests pass. (This step can be removed once
59- we have tarmac.)
60-- Run ``make lint`` and confirm that the output is clean. (This step can be
61- removed once we have tarmac.)
62-- Run ``python improv.py -f sample.json`` in the rapi-delta juju branch,
63- and run ``make server`` with the juju-ui branch. QA the changes if
64- appropriate, and then do some exploratory testing to make sure
65- everything seems to work. For extra points, try a few different
66- browsers. TODO: Document some manual QA scripts for some of the basic
67- paths.
68+- Run ``make test`` and confirm that tests pass.
69+- Run ``python improv.py -f sample.json`` in the rapi-rollup juju branch, and
70+ run ``make server`` with the juju-ui branch.
71+ * Don't forget to clear the browser cache: index.html may be sticking around
72+ because of the cache.manifest.
73+ * QA the changes if possible, exploring different use cases (and edge cases).
74+ * Spend between 60 and 120 seconds exploring the entire app. Do different
75+ things every time. Try to break the app, generally.
76+- [Once we support multiple browsers, try them all, at least briefly.]
77 - Review the diff, including notes from the above as appropriate.
78+ * Make sure that new code has tests.
79+ * Make sure you can understand the new code. Ask for clarification if
80+ necessary.
81+ * Consider the advice in this preferred Software Architecture Cheat Sheet.
82+ http://gorban.org/post/32873465932/software-architecture-cheat-sheet
83+ * Make sure changes to a file correspond to the naming conventions and other
84+ stylistic considerations local to that file, and within our project.
85+ * Before you ask for a change, think and make sure you can't compromise
86+ reasonably with the coder. If there is a low importance disagreement, in
87+ general the coder's position should win.
88+- In your summary message, thank the coder.
89+- In your summary message, if you ask for changes, make it clear whether you
90+ want to re-review after the changes, or if you automatically approve if the
91+ changes are made.
92
93 Checklist for Running a Daily Meeting
94 =====================================
95@@ -123,7 +181,8 @@
96 making yourself a more valuable employee to Canonical (i.e., studying a
97 technology that is important to the company), improving processes or
98 tools for our team, or building or improving something for another part
99- of Canonical. - Consider who you expect to maintain the project.
100+ of Canonical.
101+- Consider who you expect to maintain the project.
102
103 - Yourself: Be skeptical of this, but if so, that's fine.
104 - Our team: discuss design with team, and/or follow the "prototype, discuss,

Subscribers

People subscribed via source and target branches