I submitted a PR to another project a while back and they had this system in place. It seemed like a good idea to me.
Personally, I think that this system is way too formal.
Most of them are documented in the SymPy Contribution Guide.
Also, new contributors may not have enough knowledge to actually fill out these checklists on their own. They will need a mentor to guide them through the process.
Now, through the interaction the mentor has a general idea if the above criterion is being fulfilled.
Although I believe that this checklist should be emphasized in the Contribution Guide.Aaditya M Nair.
--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/c0bb0d0d-afb4-44aa-a85f-a50249d90fb5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I'm feeling that pain myself. I'd like to do more reviewing, but
whenever I look at a PR, in 90+% I see that I have far too little
understanding of the code that's being modified or extended to say many
meaningful things.
Can't talk for Aaditya, but here are my sentiments.
Please do not take that as being against the proposal, I'm just trying to explain how his points are valid (but they are not the only points, more on that in the answer to your starting post).
Am 13.03.2015 um 22:53 schrieb Jason Moore:
On Fri, Mar 13, 2015 at 2:26 PM, Aaditya Nair <aaditya...@gmail.com>
wrote:
Personally, I think that this system is way too formal.
Sounds like you may think formality is a negative thing. If so can you
explain why?
Most of them are documented in the SymPy Contribution Guide.
If we have these guidelines in the contributor's guide, then how does it
hurt to add it them to each PR?
Both aspects have the same kind of problem: They add to what a contributor must observe.
So yes these things do hurt, and introducing them means they need to offset that with gains.
Also, new contributors may not have enough knowledge to actually fill out
these checklists on their own. They will need a mentor to guide them
through the process.
We already mentor new contributors
Only those who come through GSoC.
E.g. I never got a mentor. In fact I might have been deterred if being mentored had been a prerequisite.
> and would not expect them to add this or
even fill it out. But the PR reviewer (i.e. mentor) would be responsible in
explaining these things to a new contributor.
I suspect the bigger problem is to get more reviewing done.
I'm feeling that pain myself. I'd like to do more reviewing, but whenever I look at a PR, in 90+% I see that I have far too little understanding of the code that's being modified or extended to say many meaningful things.
Fixing the formalities is the easy part, but if we add a procedure for these, this (usually) just means that the things that cannot be made formal get forgotten because everybody is so occupied with getting the formalities right.
That does not mean that formalities are useless or irrelevant. But they need to be put into perspective, the informal aspects need to be spelled out as well.
> In fact, if this is on the PR
the new contributor is much more likely to be aware of them as opposed to
being in the wiki somewhere.
True.
Now, through the interaction the mentor has a general idea if the above
criterion is being fulfilled.
PR reviewers +1 PRs all the time without all the contributor guidelines
being met. This can also serve as a reminder to them.
Good point.
I think a lot depends on how it is implemented, and since the proposal is somewhat vague in that respect, people tend to fill in their previous experiences with such things - and formal stuff often comes as a replacement, not complement of informal stuff which is just as important, so these experiences tend to be negative.
--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscribe@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/5503DECA.2000001%40durchholz.org.
Am 13.03.2015 um 21:41 schrieb Jason Moore:
How would people feel if a checklist like this was add to each new PR and
it was part of our policy?
This depends on where in the process the checklist is displayed, and how much it urges people to work on the checklist and what other, possibly equally important tasks get pushed into the background by the requirement to do the checklist.
- Is it mergeable?
- Did it pass the tests?
This is already taken care for in the status line of the github discussion: People see whether a PR is mergeable, whether the tests pass, and they're getting scary red markers if that doesn't work.
- If it introduces new functionality is it tested?
This leaves open how to determine that the test suite is complete.
> Do public methods/classes have docstrings?
This leaves open what should be in a docstring.
For example, most docstrings do not list preconditions and postconditions. Even in those cases where they aren't trivially inferred from other hints.
Also, I'm often having trouble to determine how the code relates to the math it is implementing.
> Did you add an explanation to the online
> documentation?
Isn't that generated from the docstrings?
- Is it well formatted? (list ways to run linters)
We already have a PEP8 requirement, and test_code_quality takes care of that.
If any improvements in that area are required, they should go into test_code_quality.
- Is it documented in the Release Notes?
I think that's taken care of by whoever prepares the release notes.
(I may be wrong.)
I submitted a PR to another project a while back and they had this system
in place. It seemed like a good idea to me.
To determine whether that experience can and should be transferred, these questions need to be answered:
- What problems did it solve there?
- Do these problems need solving in SymPy?
- What other problems need solving in SymPy? Would these solutions complement, replace or contradict a PR checklist?
Note I'm not opposed to the idea as such.
It's just an idea though, and not yet mature enough to know whether it will be a help or a hindrance. (IMHO)
--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscribe@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/5503E240.5040901%40durchholz.org.
--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CADDwiVDkXLv2GQ%2B68VdGJSJC%3DUof08hWi7SCaJCOM6pxxtgdDg%40mail.gmail.com.