I have received one review for the PR so far.
I'll merge it in the next 24 hours unless there's further feedback.

On Mon, Jul 8, 2019 at 6:04 PM Robert Metzger <rmetz...@apache.org> wrote:

> I've converted the google document into a markdown-based pull request
> here: https://github.com/apache/flink-web/pull/224
>
> I didn't put a ton of effort into splitting the guide into multiple pages.
> It would be nice to reach consensus on the exact split in the PR.
>
> On Thu, Jun 27, 2019 at 10:48 PM Hugo Louro <hmclo...@gmail.com> wrote:
>
>> +1. Thanks for working on the guide. It's very thorough and a good
>> resource
>> to learn good practices from.
>>
>> I would like use this thread as a placeholder for a couple of topics that
>> may be deserving of further discussion on different threads:
>>   - What's the best way to keep track of checkstyle version updates. For
>> instance, currently there is a PR
>> <https://github.com/apache/flink/pull/8870> proposing checkstyle to be
>> updated because version 8.12 is no longer supported
>>  - When classes import shaded dependencies, it is not trivial for IntelliJ
>> to download and associate sources and javadocs, which makes debugging and
>> navigate the code base harder. I tried installing the version of the
>> library using maven from the CLI, and associate the sources "manually" on
>> IntelliJ, but it seems it does not work (perhaps IntelliJ issue). Does
>> anyone know of a good solution? If so, we should added here
>> <
>> https://ci.apache.org/projects/flink/flink-docs-release-1.8/flinkDev/ide_setup.html#intellij-idea
>> >.
>> I can volunteer for that if you tell me how to do it :)
>> - did the community evaluate naming test methods according to these
>> conventions <https://stackoverflow.com/a/1594049> ?
>>
>> Thanks
>>
>> On Mon, Jun 24, 2019 at 11:38 AM Stephan Ewen <se...@apache.org> wrote:
>>
>> > I think it makes sense to also start individual [DISCUSS] threads about
>> > extensions and follow-ups.
>> > Various suggestions came up, partly as comments in the doc, some as
>> > questions in other threads.
>> >
>> > Examples:
>> >   - use of null in return types versus Optional versus
>> @Nullable/@Nonnull
>> >   - initialization of collection sizes
>> >   - logging
>> >
>> > I think these would be best discussed in separate threads each.
>> > So, for contributors to whom these issues are dear, feel free to spawn
>> > these additional threads.
>> > (Bear in mind it is close to 1.9 feature freeze time, so please leave
>> this
>> > discussions a bit of time so that all community members have a chance to
>> > participate)
>> >
>> >
>> >
>> > On Mon, Jun 24, 2019 at 7:51 PM Stephan Ewen <se...@apache.org> wrote:
>> >
>> > > Thanks for the pointer David.
>> > >
>> > > I was not aware of this tool and I have no experience with its
>> practical
>> > > impact. For example I would be curious what the effect of this is for
>> > > existing PRs, merge conflicts, etc.
>> > >
>> > > If you want, feel free to start another discuss thread on the
>> > introduction
>> > > of such a tool.
>> > >
>> > > On Sun, Jun 23, 2019 at 6:32 PM David Morávek <d...@apache.org>
>> wrote:
>> > >
>> > >> I love this kind of unification being pushed forward, the benefit it
>> has
>> > >> on
>> > >> code reviews is enormous. Just my two cents, did you guys think about
>> > >> adopting an automatic code formatter for java, the same way as Apache
>> > Beam
>> > >> did?
>> > >>
>> > >> It is super easy to use for contributors as they don't need to keep
>> any
>> > >> particular coding style in mind and they can only focus on
>> functionality
>> > >> they want to fix, and it's also great for reviewers, because they
>> only
>> > see
>> > >> the important changes. This also eliminates need for any special
>> editor
>> > /
>> > >> checkstyle configs as the code formatting is part of the build
>> itself.
>> > >>
>> > >> The one Beam uses is https://github.com/diffplug/spotless with
>> > >> GoogleJavaFormat, it may be worth to look into.
>> > >>
>> > >> Best,
>> > >> David
>> > >>
>> > >> On Fri, Jun 21, 2019 at 4:40 PM Stephan Ewen <se...@apache.org>
>> wrote:
>> > >>
>> > >> > Thanks, everyone, for the positive feedback :-)
>> > >> >
>> > >> > @Robert - It probably makes sense to break this down into various
>> > pages,
>> > >> > like PR, general code style guide, Java, component specific guides,
>> > >> > formats, etc.
>> > >> >
>> > >> > Best,
>> > >> > Stephan
>> > >> >
>> > >> >
>> > >> > On Fri, Jun 21, 2019 at 4:29 PM Robert Metzger <
>> rmetz...@apache.org>
>> > >> > wrote:
>> > >> >
>> > >> > > It seems that the discussion around this topic has settled.
>> > >> > >
>> > >> > > I'm going to turn the Google Doc into a markdown file (maybe also
>> > >> > multiple,
>> > >> > > I'll try out different things) and then open a pull request for
>> the
>> > >> Flink
>> > >> > > website.
>> > >> > > I'll post a link to the PR here once I'm done.
>> > >> > >
>> > >> > > On Fri, Jun 14, 2019 at 9:36 AM zhijiang <
>> > wangzhijiang...@aliyun.com
>> > >> > > .invalid>
>> > >> > > wrote:
>> > >> > >
>> > >> > > > Thanks for providing this useful guide for benefiting both
>> > >> contributors
>> > >> > > > and committers in consistency.
>> > >> > > >
>> > >> > > > I just reviewed and learned the whole doc which covers a lot of
>> > >> > > > information. Wish it further categoried and put onto somewhere
>> for
>> > >> > easily
>> > >> > > > traced future.
>> > >> > > >
>> > >> > > > Best,
>> > >> > > > Zhijiang
>> > >> > > >
>> ------------------------------------------------------------------
>> > >> > > > From:Robert Metzger <rmetz...@apache.org>
>> > >> > > > Send Time:2019年6月14日(星期五) 14:24
>> > >> > > > To:dev <dev@flink.apache.org>
>> > >> > > > Subject:Re: [DISCUSS] Adopting a Code Style and Quality Guide
>> > >> > > >
>> > >> > > > Thanks a lot for putting this together!
>> > >> > > >
>> > >> > > > I'm in the process of reworking the "How to contribute" pages
>> [1]
>> > >> and
>> > >> > I'm
>> > >> > > > happy to add the guide to the Flink website, once the
>> discussion
>> > >> here
>> > >> > is
>> > >> > > > over.
>> > >> > > >
>> > >> > > > [1] https://github.com/apache/flink-web/pull/217
>> > >> > > >
>> > >> > > > On Fri, Jun 14, 2019 at 3:21 AM Kurt Young <ykt...@gmail.com>
>> > >> wrote:
>> > >> > > >
>> > >> > > > > Big +1 and thanks for preparing this.
>> > >> > > > >
>> > >> > > > > I think wha't more important is making sure most all the
>> > >> contributors
>> > >> > > can
>> > >> > > > > follow
>> > >> > > > > the same guide, a clear document is definitely a great start.
>> > >> > > Committers
>> > >> > > > > can
>> > >> > > > > first try to follow the guide by self, and spread the
>> standard
>> > >> during
>> > >> > > > code
>> > >> > > > > reviewing.
>> > >> > > > >
>> > >> > > > > Best,
>> > >> > > > > Kurt
>> > >> > > > >
>> > >> > > > >
>> > >> > > > > On Thu, Jun 13, 2019 at 8:28 PM Congxian Qiu <
>> > >> qcx978132...@gmail.com
>> > >> > >
>> > >> > > > > wrote:
>> > >> > > > >
>> > >> > > > > > +1 for this, I think all contributors can benefit from
>> this.
>> > >> > > > > >
>> > >> > > > > > Best,
>> > >> > > > > > Congxian
>> > >> > > > > >
>> > >> > > > > >
>> > >> > > > > > Aljoscha Krettek <aljos...@apache.org> 于2019年6月13日周四
>> > 下午8:14写道:
>> > >> > > > > >
>> > >> > > > > > > +1 I think this is a very good effort and should put to
>> rest
>> > >> some
>> > >> > > > > > > back-and-forth discussions on PRs and some differences in
>> > >> “style”
>> > >> > > > > between
>> > >> > > > > > > committers. ;-)
>> > >> > > > > > >
>> > >> > > > > > > > On 13. Jun 2019, at 10:21, JingsongLee <
>> > >> > lzljs3620...@aliyun.com
>> > >> > > > > > .INVALID>
>> > >> > > > > > > wrote:
>> > >> > > > > > > >
>> > >> > > > > > > > big +1, the content is very useful and enlightening.
>> > >> > > > > > > > But it's really too long to look at.
>> > >> > > > > > > > +1 for splitting it and expose it to contributors.
>> > >> > > > > > > >
>> > >> > > > > > > > Even I think it's possible to put its link on the
>> default
>> > >> > > > description
>> > >> > > > > > of
>> > >> > > > > > > > pull request, so that the user has to see it when
>> submits
>> > >> the
>> > >> > > code.
>> > >> > > > > > > >
>> > >> > > > > > > > Best, JingsongLee
>> > >> > > > > > > >
>> > >> > > > > > > >
>> > >> > > > > > > >
>> > >> > >
>> ------------------------------------------------------------------
>> > >> > > > > > > > From:Piotr Nowojski <pi...@ververica.com>
>> > >> > > > > > > > Send Time:2019年6月13日(星期四) 16:03
>> > >> > > > > > > > To:dev <dev@flink.apache.org>
>> > >> > > > > > > > Subject:Re: [DISCUSS] Adopting a Code Style and Quality
>> > >> Guide
>> > >> > > > > > > >
>> > >> > > > > > > > +1 for it and general content and thank everybody that
>> was
>> > >> > > involved
>> > >> > > > > in
>> > >> > > > > > > creating & writing this down.
>> > >> > > > > > > >
>> > >> > > > > > > > +1 for splitting it up into some easily navigable
>> topics.
>> > >> > > > > > > >
>> > >> > > > > > > > Piotrek
>> > >> > > > > > > >
>> > >> > > > > > > >> On 13 Jun 2019, at 09:54, Stephan Ewen <
>> se...@apache.org
>> > >
>> > >> > > wrote:
>> > >> > > > > > > >>
>> > >> > > > > > > >> This should definitely be split up into topics,
>> agreed.
>> > >> > > > > > > >> And it should be linked form the "how to contribute"
>> page
>> > >> or
>> > >> > the
>> > >> > > > PR
>> > >> > > > > > > >> template to make contributors aware.
>> > >> > > > > > > >>
>> > >> > > > > > > >> On Thu, Jun 13, 2019 at 9:51 AM Zili Chen <
>> > >> > wander4...@gmail.com
>> > >> > > >
>> > >> > > > > > wrote:
>> > >> > > > > > > >>
>> > >> > > > > > > >>> Thanks for creating this guide Stephan. It is also
>> > >> > > > > > > >>> a good start point to internals doc.
>> > >> > > > > > > >>>
>> > >> > > > > > > >>> One suggestion is we could finally separate the guide
>> > >> > > > > > > >>> into separated files each of which focus on a
>> specific
>> > >> > > > > > > >>> topic. Besides, add the guide to our repository
>> should
>> > >> > > > > > > >>> make contributors more aware of it.
>> > >> > > > > > > >>>
>> > >> > > > > > > >>> Best,
>> > >> > > > > > > >>> tison.
>> > >> > > > > > > >>>
>> > >> > > > > > > >>>
>> > >> > > > > > > >>> Jeff Zhang <zjf...@gmail.com> 于2019年6月13日周四
>> 下午3:35写道:
>> > >> > > > > > > >>>
>> > >> > > > > > > >>>> Thanks for the proposal, Stephan. Big +1 on this.
>> > >> > > > > > > >>>>
>> > >> > > > > > > >>>> This is definitely helpful and indispensable for
>> > flink's
>> > >> > code
>> > >> > > > > > quality
>> > >> > > > > > > and
>> > >> > > > > > > >>>> healthy community growth.
>> > >> > > > > > > >>>> It would also benefit downstream project to
>> integrate
>> > >> flink
>> > >> > > > > easier.
>> > >> > > > > > > >>>>
>> > >> > > > > > > >>>>
>> > >> > > > > > > >>>> Till Rohrmann <trohrm...@apache.org> 于2019年6月13日周四
>> > >> > 下午3:29写道:
>> > >> > > > > > > >>>>
>> > >> > > > > > > >>>>> Thanks for creating this code style and quality
>> guide
>> > >> > > Stephan.
>> > >> > > > I
>> > >> > > > > > > think
>> > >> > > > > > > >>>>> Flink can benefit from such a guide. Thus +1 for
>> > >> > introducing
>> > >> > > > and
>> > >> > > > > > > >>> adhering
>> > >> > > > > > > >>>>> to it.
>> > >> > > > > > > >>>>>
>> > >> > > > > > > >>>>> Cheers,
>> > >> > > > > > > >>>>> Till
>> > >> > > > > > > >>>>>
>> > >> > > > > > > >>>>> On Thu, Jun 13, 2019 at 5:26 AM Bowen Li <
>> > >> > > bowenl...@gmail.com>
>> > >> > > > > > > wrote:
>> > >> > > > > > > >>>>>
>> > >> > > > > > > >>>>>> Hi Stephan,
>> > >> > > > > > > >>>>>>
>> > >> > > > > > > >>>>>> Definitely a good guide in principle IMO! I
>> > personally
>> > >> > > already
>> > >> > > > > > find
>> > >> > > > > > > >>> it
>> > >> > > > > > > >>>>>> useful in practice to learn from it myself, and
>> also
>> > >> > promote
>> > >> > > > and
>> > >> > > > > > > >>>>> cultivate
>> > >> > > > > > > >>>>>> a better coding habit around by referencing it. So
>> > big
>> > >> +1
>> > >> > to
>> > >> > > > > adopt
>> > >> > > > > > > >>> it.
>> > >> > > > > > > >>>>>>
>> > >> > > > > > > >>>>>> Also want to highlight that we need to make real
>> use
>> > of
>> > >> > it,
>> > >> > > > and
>> > >> > > > > > keep
>> > >> > > > > > > >>>>>> ensuring people are aware of its existence.
>> Adding it
>> > >> to
>> > >> > > Flink
>> > >> > > > > > > >>> website
>> > >> > > > > > > >>>>>> would be nice. We can also adding noticeable link
>> for
>> > >> it
>> > >> > to
>> > >> > > > the
>> > >> > > > > > > >>>> template
>> > >> > > > > > > >>>>> of
>> > >> > > > > > > >>>>>> github PR (where this guide really matters) to get
>> > >> > attention
>> > >> > > > and
>> > >> > > > > > > >>>>> exposure.
>> > >> > > > > > > >>>>>>
>> > >> > > > > > > >>>>>> BTW, what's the plan on how people can raise new
>> > >> > > > > > > coding-style/quality
>> > >> > > > > > > >>>>>> related questions, how to expand and adjust the
>> > content
>> > >> > over
>> > >> > > > > time,
>> > >> > > > > > > >>> how
>> > >> > > > > > > >>>> to
>> > >> > > > > > > >>>>>> inform the community of such updates and changes?
>> > >> Maybe we
>> > >> > > can
>> > >> > > > > use
>> > >> > > > > > > >>> some
>> > >> > > > > > > >>>>>> tags like "[CODING STYLE]" in dev mailing list for
>> > >> these
>> > >> > > type
>> > >> > > > of
>> > >> > > > > > > >>>>>> communications? This can be a separate discussion
>> > >> though
>> > >> > if
>> > >> > > we
>> > >> > > > > > wish.
>> > >> > > > > > > >>>>>>
>> > >> > > > > > > >>>>>> All in all, big +1 for adopting it.
>> > >> > > > > > > >>>>>>
>> > >> > > > > > > >>>>>> Bowen
>> > >> > > > > > > >>>>>>
>> > >> > > > > > > >>>>>>
>> > >> > > > > > > >>>>>>
>> > >> > > > > > > >>>>>>
>> > >> > > > > > > >>>>>> On Wed, Jun 12, 2019 at 12:32 PM Stephan Ewen <
>> > >> > > > se...@apache.org
>> > >> > > > > >
>> > >> > > > > > > >>>> wrote:
>> > >> > > > > > > >>>>>>
>> > >> > > > > > > >>>>>>> Hi all!
>> > >> > > > > > > >>>>>>>
>> > >> > > > > > > >>>>>>> I want to propose that we try and adopt a code
>> style
>> > >> and
>> > >> > > > > quality
>> > >> > > > > > > >>>> guide.
>> > >> > > > > > > >>>>>> Its
>> > >> > > > > > > >>>>>>> a big endeavor, but I think it's worth trying :-)
>> > >> > > > > > > >>>>>>>
>> > >> > > > > > > >>>>>>> The Apache Flink community and contributor base
>> is
>> > >> > growing
>> > >> > > > > quite
>> > >> > > > > > a
>> > >> > > > > > > >>>> bit,
>> > >> > > > > > > >>>>>> new
>> > >> > > > > > > >>>>>>> committers and contributors are coming on board
>> > >> > frequently.
>> > >> > > > > > > >>> Everyone
>> > >> > > > > > > >>>>>> comes
>> > >> > > > > > > >>>>>>> from a different background and brings a
>> different
>> > >> level
>> > >> > of
>> > >> > > > > > > >>>> experience.
>> > >> > > > > > > >>>>>>> Different contributors apply different styles,
>> and
>> > >> > > > > contributions
>> > >> > > > > > > >>> are
>> > >> > > > > > > >>>>>>> naturally of varying code quality.
>> > >> > > > > > > >>>>>>>
>> > >> > > > > > > >>>>>>> We are struggling with finding a good balance
>> > between:
>> > >> > > > > > > >>>>>>>
>> > >> > > > > > > >>>>>>> (1) On the one hand maintaining a certain code
>> > >> standard
>> > >> > > for a
>> > >> > > > > big
>> > >> > > > > > > >>>> and
>> > >> > > > > > > >>>>>>> complex system like Flink, to reduce bugs and
>> make
>> > >> future
>> > >> > > > > > > >>>> contributions
>> > >> > > > > > > >>>>>>> feasible (and not impossible due to code
>> > complexity).
>> > >> > > > > > > >>>>>>>
>> > >> > > > > > > >>>>>>> (2) On the other hand, make contributions
>> possible
>> > for
>> > >> > > > > > > >>>> contributors.
>> > >> > > > > > > >>>>>> This
>> > >> > > > > > > >>>>>>> means not guarding everything to the point that
>> no
>> > >> > > > > contributions
>> > >> > > > > > > >>> can
>> > >> > > > > > > >>>>> get
>> > >> > > > > > > >>>>>> in
>> > >> > > > > > > >>>>>>> any more.
>> > >> > > > > > > >>>>>>>
>> > >> > > > > > > >>>>>>> My suggestion to help with this is to define a
>> > >> standard
>> > >> > and
>> > >> > > > > > > >>> document
>> > >> > > > > > > >>>> it
>> > >> > > > > > > >>>>>>> explicitly. It will help to get everyone on the
>> same
>> > >> page
>> > >> > > > what
>> > >> > > > > > the
>> > >> > > > > > > >>>>>>> expectation is, and it helps contributors know
>> what
>> > to
>> > >> > pay
>> > >> > > > > > > >>> attention
>> > >> > > > > > > >>>>> to.
>> > >> > > > > > > >>>>>>> Such a guide should also help make review more
>> > >> efficient,
>> > >> > > > > because
>> > >> > > > > > > >>>>>>> contributors can know up front what reviewers
>> will
>> > >> look
>> > >> > at.
>> > >> > > > > > > >>>>>>>
>> > >> > > > > > > >>>>>>> Over the past weeks, I took a look at the current
>> > >> Flink
>> > >> > > code
>> > >> > > > > base
>> > >> > > > > > > >>> and
>> > >> > > > > > > >>>>>>> talked to some committers and contributors and
>> tried
>> > >> to
>> > >> > > come
>> > >> > > > up
>> > >> > > > > > > >>> with
>> > >> > > > > > > >>>> a
>> > >> > > > > > > >>>>>>> proposal that reflects the approaches and
>> standards
>> > >> that
>> > >> > > many
>> > >> > > > > > > >>>>> committers
>> > >> > > > > > > >>>>>>> have adopted lately.
>> > >> > > > > > > >>>>>>>
>> > >> > > > > > > >>>>>>>
>> > >> > > > > > > >>>>>>>
>> > >> > > > > > > >>>>>>
>> > >> > > > > > > >>>>>
>> > >> > > > > > > >>>>
>> > >> > > > > > > >>>
>> > >> > > > > > >
>> > >> > > > > >
>> > >> > > > >
>> > >> > > >
>> > >> > >
>> > >> >
>> > >>
>> >
>> https://docs.google.com/document/d/1owKfK1DwXA-w6qnx3R7t2D_o0BsFkkukGlRhvl3XXjQ
>> > >> > > > > > > >>>>>>>
>> > >> > > > > > > >>>>>>>
>> > >> > > > > > > >>>>>>> This guide is not fix and final, we should
>> discuss
>> > it
>> > >> and
>> > >> > > > > expand
>> > >> > > > > > > >>> and
>> > >> > > > > > > >>>>>> adjust
>> > >> > > > > > > >>>>>>> it over time. The guide tries to strike a balance
>> > >> between
>> > >> > > too
>> > >> > > > > > much
>> > >> > > > > > > >>>>>> contents
>> > >> > > > > > > >>>>>>> (don't force someone to read a book before
>> > >> contributing)
>> > >> > > and
>> > >> > > > > > being
>> > >> > > > > > > >>>>>>> comprehensive enough. The guide looks long, but
>> much
>> > >> of
>> > >> > it
>> > >> > > > are
>> > >> > > > > > > >>>>> component
>> > >> > > > > > > >>>>>> or
>> > >> > > > > > > >>>>>>> aspect specific parts, like how to deal with new
>> > >> > > > dependencies,
>> > >> > > > > > > >>>>>>> configuration changes, etc.
>> > >> > > > > > > >>>>>>>
>> > >> > > > > > > >>>>>>> I an curious to hear whether you think such a
>> guide
>> > >> is in
>> > >> > > > > > > >>> principle a
>> > >> > > > > > > >>>>>> good
>> > >> > > > > > > >>>>>>> idea.
>> > >> > > > > > > >>>>>>> If yes, is the one here a good starting point?
>> > >> > > > > > > >>>>>>>
>> > >> > > > > > > >>>>>>> Best,
>> > >> > > > > > > >>>>>>> Stephan
>> > >> > > > > > > >>>>>>>
>> > >> > > > > > > >>>>>>
>> > >> > > > > > > >>>>>
>> > >> > > > > > > >>>>
>> > >> > > > > > > >>>>
>> > >> > > > > > > >>>> --
>> > >> > > > > > > >>>> Best Regards
>> > >> > > > > > > >>>>
>> > >> > > > > > > >>>> Jeff Zhang
>> > >> > > > > > > >>>>
>> > >> > > > > > >
>> > >> > > > > > >
>> > >> > > > > >
>> > >> > > > >
>> > >> > > >
>> > >> > > >
>> > >> > >
>> > >> >
>> > >>
>> > >
>> >
>>
>

Reply via email to