1
1
# Contributing to the PerfView repository
2
2
3
- First and foremost, we want to thank you for your willingness the help make PerfView better.
3
+ First and foremost, we want to thank you for your willingness to help make PerfView better.
4
4
Here we describe a bunch of rules / advice associated with doing so. You may end up
5
- getting frustrated with the process. This guide is our attempt to keep that frustration
5
+ getting frustrated with the process. This guide is our attempt to keep that frustration
6
6
as low as possible.
7
7
8
8
The simple truth is that not all change is good (big surprise), and because of this, we reserve
9
9
the right to reject any pull request to this repo. We won’t do this without rationale, and
10
10
our rationale is simple at its heart.
11
11
12
- 1 . Complexity is bad. Changes that add complexity need more careful deliberation
12
+ 1 . Complexity is bad. Changes that add complexity need more careful deliberation
13
13
to weigh the bad against the good that comes along with it.
14
14
15
- 2 . Consistency is good. Bugs are basically a kind of inconsistency (the program does
15
+ 2 . Consistency is good. Bugs are basically a kind of inconsistency (the program does
16
16
not work as a simple understanding would assume). There are, of course, feature additions
17
17
that make consistency better, but it is all too easy for new features to NOT be consistent
18
18
with existing features.
@@ -32,35 +32,35 @@ have the responsibility to weigh these other factors, and we may decide that the
32
32
the good.
33
33
34
34
A rejected pull request is a failure for the repo as a whole because it means that multiple people
35
- spent time on things that ultimately did not benefit the repo. We want to avoid that. There
35
+ spent time on things that ultimately did not benefit the repo. We want to avoid that. There
36
36
is a simple heuristic that helps:
37
37
38
38
* ** The bigger the change, the more 'pre-vetting' you need**
39
39
40
40
Thus what we DON'T what you to do is over the course of time build up a rather massive change
41
- and then as some point decide to submit it as a pull request. The likelihood of this landing
41
+ and then as some point decide to submit it as a pull request. The likelihood of this landing
42
42
in a good place is next to nil.
43
43
44
44
Small bug fixes / features that do not add interesting complexity are easy, just do them and
45
- submit the pull request. Bigger bug fixes should be vetted by asking first. Code
45
+ submit the pull request. Bigger bug fixes should be vetted by asking first. Code
46
46
reorganization is particularly tricky. By (1) and (2) we like this assuming it lowers overall
47
47
complexity and improves consistency, but it is very disruptive and ideally is done in a series
48
- of small steps. Thus planning is needed, and you should talk with us by posting the issue.
48
+ of small steps. Thus planning is needed, and you should talk with us by posting the issue.
49
49
50
50
In general all features need pre-vetting. The rule here is simple. Don't do any work unless
51
- you
51
+ you:
52
52
53
53
1 . Are willing to throw it away (e.g. it was more effort to get it vetted) OR
54
54
2 . You have vetted it with us by creating an issue, and got positive confirmation from the
55
- discussion that you are on the right track. If it is a big change, you should ongoing
55
+ discussion that you are on the right track. If it is a big change, you should stay updated with ongoing
56
56
discussion on the issue to insure that you stay on track.
57
57
58
58
Performance improvements are often a point of contention. Improvements that make the code
59
- smaller / simpler are great, but often this is not the case. If you are adding complexity as
59
+ smaller / simpler are great, but often this is not the case. If you are adding complexity as
60
60
part of your improvement (e.g. adding a cache), again, you have to follow the rule above
61
61
and get it pre-vetted, or be willing to abandon the change. For performance changes in
62
62
general we will probably ask you to take measurements to quantify exactly how much improvement
63
- there was. There is more work than just modifying the code.
63
+ there was. There is more work than just modifying the code.
64
64
65
65
## Coding Standards
66
66
0 commit comments