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]
