leventov commented on a change in pull request #7206: Add the pull-request template URL: https://github.com/apache/incubator-druid/pull/7206#discussion_r267121031
########## 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) Review comment: Just answering: > I expect it would often not bring any real value if forced. That's an intuitive expectation, but the counterintuitive point is that it actually brings real value far more often than expected. > If I saw an otherwise good PR that lacked this section, I would personally not be willing to reject it on that basis alone. I don't think any problem with PR decoration is a basis for rejecting any PR at all. > I also think making it a hard requirement shifts too much burden to the PR author. > > If there are interesting alternative designs, a reviewer can bring them up during review. > > If it's a PR where no reviewer can think of alternative designs that are worth considering, then I don't think it's reasonable to place that requirement on the PR author either. Authors are in a far better position to propose alternative designs. Reviewers often barely grasp the idea of the PR, and they only review the code on Github. Authors wrote the code, worked in IDE, understand all ins and outs. In general, I think it's a good idea for PR authors to place as much burden as they can on themselves. Self-reviewing touches the same idea. Reasons: - Self-reliance and removing the burden from colleagues is always a good idea. (Doing as much work as we can ourselves, collaborators will care of their work themselves. Not relying on collaborators or quality of their work.) - Perhaps when we review our own code (and design decisions) we more likely learn something and improve our own style than when we review other people's code. The same phycological effect as behind "People don't learn from other's people mistakes, only their own." Or maybe because when we ourselves the source of "review comments" we don't tend to subconsciously reject them or treat them passive-aggressively. But that's a whole other topic of discussion and I'm not going to mention anything of that in the template. ---------------------------------------------------------------- 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: us...@infra.apache.org With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@druid.apache.org For additional commands, e-mail: commits-h...@druid.apache.org