gianm commented on a change in pull request #7206: Add the pull-request template
URL: https://github.com/apache/incubator-druid/pull/7206#discussion_r266679338
 
 

 ##########
 File path: .github/pull_request_template.md
 ##########
 @@ -0,0 +1,53 @@
+Fixes #XXXX.
+
+(Replace XXXX with the id of the issue fixed in this PR. Remove this line if 
there is no corresponding
+issue. Don't reference the issue in the title of this pull-request.)
+
+Add tags to your PR if you are a committer (only committers have the right to 
add tags). Add [Design Review] tag
+if this PR should better be reviewed by at least two people.
+Don't forget to add the following tags (if applicable): [Incompatible], 
[Release Notes], [Compatibility], [Security],
+[Development Blocker]. Add at least one [Area - ] tag, consider creating a new 
one if none of the existing [Area - ]
+tags is applicable.
+
+### Description
+
+Describe the goal of this PR, what problem are you fixing. If there is a 
corresponding issue (referenced above), it's
+not necessary to repeat the description here, however, you may choose to keep 
one summary sentence.
+
+Describe your patch: what did you change in code? How did you fix the problem?
+
+If there are several relatively logically separate changes in this PR, list 
them. For example:
+ - Fixed the bug ...
+ - Renamed the class ...
+ - Added a forbidden-apis entry ...
+
+Some of the aspects mentioned above may be omitted for simple and small PRs.
+
+### Design
+
+Please describe any design decisions made, including:
+ - Choice of algorithms
+ - Behavioral aspects. What configuration values are acceptable? How are 
corner cases and error conditions handled, such
+   as when insufficient resources are available?
+ - Class organization and design (how the logic is split between classes, 
inheritance, composition, design patterns)
+ - Method organization and design (how the logic is split between methods, 
parameters and return types)
+ - Naming (class, method, API, configuration, HTTP endpoint, names of emitted 
metrics)
+
+In addition, describe _at least one_ alternative design (or mention 
alternative name) for every design (or naming)
+decision point and compare the alternatives with the designs that you've 
implemented (or the names you've chosen).
+
+If you already did this in the associated issue (e. g. a "Proposal" issue), 
leave the following sentence:
+
+Design of this change is discussed [here](<link to Github issue or comment 
where you discuss the design>).
+
+This section may be omitted for really simple and small patches. However, any 
patch that adds a new production class
+almost certainly shouldn't omit this section.
+
+<hr>
+
+I've self-reviewed this PR (including using the [concurrency checklist](
+https://github.com/leventov/java-concurrency-checklist)).
 
 Review comment:
   To my eyes, the language in the PR right now makes this checklist look like 
it's being represented as an official Druid style guide. If this is your intent 
with this PR, I don't think "external document with Druid-specific overrides" 
is a good approach, for a few reasons:
   
   - It's tough for readers to manually reconcile. We have to ask people to 
read an external document and mentally apply diffs.
   - It's tough for the Druid community to keep updated. We have to maintain a 
list of diffs rather than an actual document. If the upstream document changes, 
we have to update our diffs or "pin" to a specific version.
   - No other projects seem to use the proposed checklist as part of their 
official style guide, so there isn't anything to gain from keeping it separate 
from Druid. Why not make an official Druid checklist and then, if other 
projects like it and want to use it, they can reference ours?
   
   If your intent was not to represent this as an official Druid checklist, 
then I don't have as much issue with it, but in that case I think the language 
should be changed so it doesn't look so official. Maybe refer to this list as 
one of many possible resources on Java code style, and point out that Druid 
doesn't have an official coding guide, so contributors are encouraged to try to 
match the style of other code in the repo. (Basically how it works today.)

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to