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 then 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 any think problems with PR decoration is a basis for regecting 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 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

Reply via email to