Following up on my previous email:

Every blueprint specification has a Work items section. That section should 
describe granular work items, not just things in general. We should encourage 
components leads to put their attention to this aspect.



> 7 груд. 2015 р. о 12:23 Roman Prykhodchenko <m...@romcheg.me> написав(ла):
> 
> Maciej, thanks for bringing this topic up for the discussion!
> 
> I absolutely agree with the idea that at this point we have a problem with 
> patch size. Patches that are too big usually have two major issues: they 
> either don’t get reviewed for a very long time or get random +1s from people 
> who don’t even bother reading all the changes there.
> 
> Splitting a patch when it’s already published may be pretty problematic, so 
> we should think about granularity of every feature on the design stage. Only 
> in that way we will be able to submit small patches w/o making compromises on 
> test coverage, stability or any other important aspect of the code quality.
> 
> Folks proposed two different solutions here:
>   1. Set a CI job that puts a -1 to every patch that’s bigger than a certain 
> limit.
>   2. Make reviewers responsible for -1ing a patch.
> 
> Most of the patches that are bigger than 500 LOC can be split. However, there 
> is a lot of corner cases we have to carry about, if we are going to put a -1 
> to all of them automatically. In my opinion we should not do that. Instead, 
> we can send warning emails to core teams if this kind of patch set is 
> submitted. Then a core team may easily analyze whether this patch can be 
> split and propose a meaningful way to do that.
> 
> Huge patches cause a different story — they are incredibly hard for making a 
> good review, merging or reverting them can lead to a major regression in a 
> lot of places, they cause conflicts for a lot of other patches and so on. A 
> huge patch ALWAYS means exclusively one of the following:
>   1. It can be split
>   2. The design of the feature is completely wrong.
> 
> We need to set a treshold for a huge patch and block all patches that exceed 
> it by putting -2 scores.
> 
> Summary:
> 
> - Let’s set two thresholds — one for to big and one for huge patches.
> - Let’s create a job that will warn an appropriate core team if a too big 
> patch is submitted and block huge patches.
> 
> 
> - romcheg
> 
> 
> 
>> 7 груд. 2015 р. о 11:23 Stanislaw Bogatkin <sbogat...@mirantis.com 
>> <mailto:sbogat...@mirantis.com>> написав(ла):
>> 
>> > What if you're not sure how the improved code should look like, but
>> > you definitely sure that it shouldn't look like proposed one? :)
>> 
>> I believe you should ask other people if you are right, as set '-1' to code 
>> that you
>> cannot improve is not the best option, so
>> 
>> 
>> > If you are not sure how the improved code would look like, just let it go!
>> is right
>> 
>> 
>> Also I think that set some strict boundaries, like 400 LOC per patch is 
>> wrong. For example, if you
>> introduce new test fixture for fuel-library, it usually about 800+ LOC and 
>> you can't split it
>> out, so we should either move such fixtures out of code or make an exeption 
>> for such type of code.
>> 
>> On Mon, Dec 7, 2015 at 1:03 PM, Igor Kalnitsky <ikalnit...@mirantis.com 
>> <mailto:ikalnit...@mirantis.com>> wrote:
>> Hey Andrii,
>> 
>> I'm totally agree with you about contribution guides, except one thing
>> - we need and should force users to split huge patches into set of
>> small ones. Mostly because it will simplify support and review of
>> patches. Previously we ignored this rule pretty often, and get a lot
>> of troubles due to buggy code.
>> 
>> Also, see some comments below.
>> 
>> > So, when an author of a patch gets -1 with the statement «split this
>> > code», I believe it is not constructive. At least you should roughly
>> > describe how you see it, how the patch could be split, you should be
>> > helpful to the author of a patch.
>> 
>> No one is suggesting to set -1 without leaving a comment how the patch
>> could be divided.
>> 
>> 
>> > If you are not sure how the improved code would look like, just let it go!
>> 
>> What if you're not sure how the improved code should look like, but
>> you definitely sure that it shouldn't look like proposed one? :)
>> 
>> I'd say it's a good reason to set -1 and start discussion. Not only
>> with author, but with other folks, since everyone in community is
>> responsible of code quality of the project.
>> 
>> - I
>> 
>> On Mon, Dec 7, 2015 at 3:28 AM, Andrey Tykhonov <atykho...@mirantis.com 
>> <mailto:atykho...@mirantis.com>> wrote:
>> > I believe this is against the code review guidelines.
>> >
>> > «Comments must be meaningful and should help an author to change the
>> > code the right way.» [1]
>> >
>> > If you get a comment that says «split this change into the smaller
>> > commit» I'm sorry, but it doesn't help at all.
>> >
>> > «Leave constructive comments
>> >
>> > Not everyone in the community is a native English speaker, so make
>> > sure your remarks are meaningful and helpful for the patch author to
>> > change his code, but also polite and respectful.
>> >
>> > The review is not really about the score. It's all about the
>> > comments. When you are reviewing code, always make sure that your
>> > comments are useful and helpful to the author of the patch. Try to
>> > avoid leaving comments just to show that you reviewed something if
>> > they don't really add anything meaningful» [2]
>> >
>> > So, when an author of a patch gets -1 with the statement «split this
>> > code», I believe it is not constructive. At least you should roughly
>> > describe how you see it, how the patch could be split, you should be
>> > helpful to the author of a patch. So, first of all, you need to review
>> > the patch! :)
>> >
>> > I want to emphasize this: «The review is not really about the
>> > score. It's all about the comments.»
>> >
>> > «In almost all cases, a negative review should be accompanied by clear
>> > instructions for the submitter how they might fix the patch.» [4]
>> >
>> > I believe that the statement "split this change into the smaller
>> > commit" is too generic, it is mostly the same as the "this patch needs
>> > further work". It doesn't bring any additional instructions how
>> > exactly a patch could be fixed.
>> >
>> > Please also take a loot at the following conversation from mailing
>> > list: [3].
>> >
>> > «It's not so easy to guess what you mean, and in case of a clumsy
>> > piece of code, not even that certain that better code can be used
>> > instead. So always provide an example of what you would rather want to
>> > see. So instead of pointing to indentation rules, just show properly
>> > indented code. Instead of talking about grammar or spelling, just type
>> > the corrected comment or docstring. Finally, instead of saying "use
>> > list comprehension here" or "don't use has_key", just type your
>> > proposal of how the code should look like. Then we have something
>> > concrete to talk about. Of course, you can also say why you think this
>> > is better, but an example is very important. If you are not sure how
>> > the improved code would look like, just let it go, chances are it
>> > would look even worse.» [3]
>> >
>> > So, please, bring something concrete to talk about. If you are not
>> > sure how the improved code would look like, just let it go!
>> >
>> > «The simplest way to talk about code is to just show the code. When you
>> > want the author to fix something, rewrite it in a different way,
>> > format the code differently, etc. -- it's best to just write in the
>> > comment how you want that code to look like. It's much faster than
>> > having the author guess what you meant in your descriptions, and also
>> > lets us learn much faster by seeing examples.» [2]
>> >
>> >
>> > [1]
>> > https://docs.google.com/document/d/1tyKhHQRQqTEW6tS7_LCajEpzqn55f-f5nDmtzIeJ2uY/edit
>> >  
>> > <https://docs.google.com/document/d/1tyKhHQRQqTEW6tS7_LCajEpzqn55f-f5nDmtzIeJ2uY/edit>
>> > [2] https://wiki.openstack.org/wiki/CodeReviewGuidelines 
>> > <https://wiki.openstack.org/wiki/CodeReviewGuidelines>
>> > [3]
>> > http://www.mail-archive.com/openstack-dev@lists.openstack.org/msg07831.html
>> >  
>> > <http://www.mail-archive.com/openstack-dev@lists.openstack.org/msg07831.html>
>> > [4] http://docs.openstack.org/infra/manual/developers.html#peer-review 
>> > <http://docs.openstack.org/infra/manual/developers.html#peer-review>
>> >
>> >
>> > Best regards,
>> > Andrey Tykhonov (tkhno)
>> >
>> >
>> > __________________________________________________________________________
>> > OpenStack Development Mailing List (not for usage questions)
>> > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe 
>> > <http://openstack-dev-requ...@lists.openstack.org/?subject:unsubscribe>
>> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev 
>> > <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>> >
>> 
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe 
>> <http://openstack-dev-requ...@lists.openstack.org/?subject:unsubscribe>
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev 
>> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>> 
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe: openstack-dev-requ...@lists.openstack.org 
>> <mailto:openstack-dev-requ...@lists.openstack.org>?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev 
>> <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
> 

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to