hjg
2024-07-09 30304784e82d4bba24121328da8eb8490aec4f4f
提交 | 用户 | 时间
58d006 1 ## Contributing to Flot ##
A 2
3 We welcome all contributions, but following these guidelines results in less
4 work for us, and a faster and better response.
5
6 ### Issues ###
7
8 Issues are not a way to ask general questions about Flot. If you see unexpected
9 behavior but are not 100% certain that it is a bug, please try posting to the
10 [forum](http://groups.google.com/group/flot-graphs) first, and confirm that
11 what you see is really a Flot problem before creating a new issue for it.
12
13 When reporting a bug, please include a working demonstration of the problem, if
14 possible, or at least a clear description of the options you're using and the
15 environment (browser and version, jQuery version, other libraries) that you're
16 running under.
17
18 If you have suggestions for new features, or changes to existing ones, we'd
19 love to hear them! Please submit each suggestion as a separate new issue.
20
21 If you would like to work on an existing issue, please make sure it is not
22 already assigned to someone else. If an issue is assigned to someone, that
23 person has already started working on it. So, pick unassigned issues to prevent
24 duplicated efforts.
25
26 ### Pull Requests ###
27
28 To make merging as easy as possible, please keep these rules in mind:
29
30  1. Divide larger changes into a series of small, logical commits with
31     descriptive messages.
32
33  2. Format your code according to the style guidelines below.
34
35  3. Submit new features or architectural changes to the <version>-work branch
36     for the next major release.  Submit bug fixes to the master branch.
37
38  4. Rebase, if necessary, before submitting your pull request, to reduce the
39     work we need to do to merge it.
40
41 ### Flot Style Guidelines ###
42
43 Flot follows the [jQuery Core Style Guidelines](http://docs.jquery.com/JQuery_Core_Style_Guidelines),
44 with the following updates and exceptions:
45
46 #### Spacing ####
47
48 Do not add horizontal space around parameter lists, loop definitions, or
49 array/object indices. For example:
50
51 ```js
52     for ( var i = 0; i < data.length; i++ ) {    // This block is wrong!
53         if ( data[ i ] > 1 ) {
54             data[ i ] = 2;
55         }
56     }
57
58     for (var i = 0; i < data.length; i++) {        // This block is correct!
59         if (data[i] > 1) {
60             data[i] = 2;
61         }
62     }
63 ```
64
65 #### Comments ####
66
67 Use // for all comments except the header at the top of a file or inline
68 include.
69
70 All // comment blocks should have an empty line above *and* below them. For
71 example:
72
73 ```js
74     var a = 5;
75
76     // We're going to loop here
77     // TODO: Make this loop faster, better, stronger!
78
79     for (var x = 0; x < 10; x++) {}
80 ```
81
82 #### Wrapping ####
83
84 Block comments should be wrapped at 80 characters.
85
86 Code should attempt to wrap at 80 characters, but may run longer if wrapping
87 would hurt readability more than having to scroll horizontally.  This is a
88 judgement call made on a situational basis.
89
90 Statements containing complex logic should not be wrapped arbitrarily if they
91 do not exceed 80 characters. For example:
92
93 ```js
94     if (a == 1 &&        // This block is wrong!
95         b == 2 &&
96         c == 3) {}
97
98     if (a == 1 && b == 2 && c == 3) {}        // This block is correct!
99 ```