Cool! So, it begins =)

- Henry

On Wed, Apr 26, 2017 at 7:30 AM, Aljoscha Krettek <aljos...@apache.org>
wrote:

> I merged the stricter checkstyle for flink-streaming-java today. (Sans
> checking for right curly braces)
>
> > On 18. Apr 2017, at 22:17, Chesnay Schepler <ches...@apache.org> wrote:
> >
> > +1 to use earth rotation as the new standard time unit. Maybe more
> importantly, I'm absolutely in favor of merging it.
> >
> > On 18.04.2017 20:39, Aljoscha Krettek wrote:
> >> I rebased the PR [1] on current master. Is there any strong objection
> against merging this (minus the two last commits which introduce
> curly-brace-style checking). If not, I would like to merge this after two
> earth rotations, i.e. after all the time zones have had some time to react.
> >>
> >> The complete set of checks has been listed by Chesnay (via Greg) before
> but the gist of it is that we only add common-sense checks that most people
> should be able to agree upon so that we avoid edit wars (especially when it
> comes to whitespace, import order and Javadoc paragraph styling).
> >>
> >> [1] https://github.com/apache/flink/pull/3567
> >>> On 5. Apr 2017, at 23:54, Chesnay Schepler <ches...@apache.org> wrote:
> >>>
> >>> I agree to just allow both. While I definitely prefer 1) i can see why
> someone might prefer 2).
> >>>
> >>> Wouldn't want to delay this anymore; can't find to add this to
> flink-metrics and flink-python...
> >>>
> >>> On 03.04.2017 18:33, Aljoscha Krettek wrote:
> >>>> I think enough people did already look at the checkstyle rules
> proposed in the PR.
> >>>>
> >>>> On most of the rules reaching consensus is easy so I propose to
> enable all rules except those regarding placement of curly braces and
> control flow formatting. The two styles in the Flink code base are:
> >>>>
> >>>> 1)
> >>>> if () {
> >>>> } else {
> >>>> }
> >>>>
> >>>> try {
> >>>> } catch () {
> >>>> }
> >>>>
> >>>> and
> >>>>
> >>>> 2)
> >>>>
> >>>> if () {
> >>>> }
> >>>> else {
> >>>> }
> >>>>
> >>>> try {
> >>>> }
> >>>> catch () {
> >>>> }
> >>>>
> >>>> I think it’s hard to reach consensus on these so I suggest to keep
> allowing both styles.
> >>>>
> >>>> Any comments very welcome! :-)
> >>>>
> >>>> Best,
> >>>> Aljoscha
> >>>>> On 19. Mar 2017, at 17:09, Aljoscha Krettek <aljos...@apache.org>
> wrote:
> >>>>>
> >>>>> I played around with this over the week end and it turns out that
> the required changes in flink-streaming-java are not that big. I created a
> PR with a proposed checkstyle.xml and the required code changes:
> https://github.com/apache/flink/pull/3567 <https://github.com/apache/
> flink/pull/3567>. There’s a longer description of the style in the PR.
> The commits add continuously more invasive changes so we can start with the
> more lightweight changes if we want to.
> >>>>>
> >>>>> If we want to go forward with this I would also encourage other
> people to use this for different modules and see how it turns out.
> >>>>>
> >>>>> Best,
> >>>>> Aljoscha
> >>>>>
> >>>>>> On 18 Mar 2017, at 08:00, Aljoscha Krettek <aljos...@apache.org
> <mailto:aljos...@apache.org>> wrote:
> >>>>>>
> >>>>>> I added an issue for adding a custom checkstyle.xml for
> flink-streaming-java so that we can gradually add checks:
> https://issues.apache.org/jira/browse/FLINK-6107 <
> https://issues.apache.org/jira/browse/FLINK-6107>. I outlined the
> procedure in the Jira. We can use this as a pilot project and see how it
> goes and then gradually also apply to other modules.
> >>>>>>
> >>>>>> What do you think?
> >>>>>>
> >>>>>>> On 6 Mar 2017, at 12:42, Stephan Ewen <se...@apache.org <mailto:
> se...@apache.org>> wrote:
> >>>>>>>
> >>>>>>> A singular "all reformat in one instant" will cause immense damage
> to the
> >>>>>>> project, in my opinion.
> >>>>>>>
> >>>>>>> - There are so many pull requests that we are having a hard time
> keeping
> >>>>>>> up, and merging will a lot more time intensive.
> >>>>>>> - I personally have many forked branches with WIP features that
> will
> >>>>>>> probably never go in if the branches become unmergeable. I expect
> that to
> >>>>>>> be true for many other committers and contributors.
> >>>>>>> - Some companies have Flink forks and are rebasing patches onto
> master
> >>>>>>> regularly. They will be completely screwed by a full reformat.
> >>>>>>>
> >>>>>>> If we do something, the only thing that really is possible is:
> >>>>>>>
> >>>>>>> (1) Define a style. Ideally not too far away from Flink's style.
> >>>>>>> (2) Apply it to new projects/modules
> >>>>>>> (3) Coordinate carefully to pull it into existing modules, module
> by
> >>>>>>> module. Leaving time to adopt pull requests bit by bit, and
> allowing forks
> >>>>>>> to go through minor merges, rather than total conflict.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> On Wed, Mar 1, 2017 at 5:57 PM, Henry Saputra <
> henry.sapu...@gmail.com <mailto:henry.sapu...@gmail.com>>
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>>> It is actually Databricks Scala guide to help contributions to
> Apache Spark
> >>>>>>>> so not really official Spark Scala guide.
> >>>>>>>> The style guide feels bit more like asking people to write Scala
> in Java
> >>>>>>>> mode so I am -1 to follow the style for Apache Flink Scala if
> that what you
> >>>>>>>> are recommending.
> >>>>>>>>
> >>>>>>>> If the "unification" means ONE style guide for both Java and
> Scala I would
> >>>>>>>> vote -1 to it because both languages have different semantics and
> styles to
> >>>>>>>> make them readable and understandable.
> >>>>>>>>
> >>>>>>>> We could start with improving the Scala maven style guide to
> follow more
> >>>>>>>> Scala official style guide [1] and add IntelliJ Idea or Eclipse
> plugin
> >>>>>>>> style to follow suit.
> >>>>>>>>
> >>>>>>>> Java side has bit more strict style check but we could make it
> tighter but
> >>>>>>>> embracing more Google Java guide closely with minor exceptions
> >>>>>>>>
> >>>>>>>> - Henry
> >>>>>>>>
> >>>>>>>> [1] http://docs.scala-lang.org/style/ <
> http://docs.scala-lang.org/style/>
> >>>>>>>>
> >>>>>>>> On Mon, Feb 27, 2017 at 11:54 AM, Stavros Kontopoulos <
> >>>>>>>> st.kontopou...@gmail.com <mailto:st.kontopou...@gmail.com>>
> wrote:
> >>>>>>>>
> >>>>>>>>> +1 to provide and enforcing a unified code style for both java
> and scala.
> >>>>>>>>> Unification should apply when it makes sense like comments
> though.
> >>>>>>>>>
> >>>>>>>>> Eventually code base should be re-factored. I would vote for the
> one at a
> >>>>>>>>> time module fix apporoach.
> >>>>>>>>> Style guide should be part of any PR review.
> >>>>>>>>>
> >>>>>>>>> We could also have a look at the spark style guide:
> >>>>>>>>> https://github.com/databricks/scala-style-guide <
> https://github.com/databricks/scala-style-guide>
> >>>>>>>>>
> >>>>>>>>> The style code and general guidelines help keep code more
> readable and
> >>>>>>>> keep
> >>>>>>>>> things simple
> >>>>>>>>> with many contributors and different styles of code writing +
> language
> >>>>>>>>> features.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Mon, Feb 27, 2017 at 8:01 PM, Stephan Ewen <se...@apache.org
> <mailto:se...@apache.org>> wrote:
> >>>>>>>>>
> >>>>>>>>>> I agree, reformatting 90% of the code base is tough.
> >>>>>>>>>>
> >>>>>>>>>> There are two main issues:
> >>>>>>>>>> (1) Incompatible merges. This is hard, especially for the folks
> that
> >>>>>>>>> have
> >>>>>>>>>> to merge the pull requests ;-)
> >>>>>>>>>>
> >>>>>>>>>> (2) Author history: This is less of an issue, I think. "git log
> >>>>>>>>>> <filename>" and "git show <revision> -- <filename>" will still
> work and
> >>>>>>>>> one
> >>>>>>>>>> may have to go one commit back to find out why something was
> changed
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> What I could image is to do this incrementally. Define the code
> style
> >>>>>>>> in
> >>>>>>>>>> "flink-parent" but do not activate it.
> >>>>>>>>>> Then start with some projects (new projects, plus some others):
> >>>>>>>>>> merge/reject PRs, reformat, activate code style.
> >>>>>>>>>>
> >>>>>>>>>> Piece by piece. This is realistically going to take a long time
> until
> >>>>>>>> it
> >>>>>>>>> is
> >>>>>>>>>> pulled through all components, but that's okay, I guess.
> >>>>>>>>>>
> >>>>>>>>>> Stephan
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> On Mon, Feb 27, 2017 at 1:53 PM, Aljoscha Krettek <
> aljos...@apache.org <mailto:aljos...@apache.org>
> >>>>>>>>>> wrote:
> >>>>>>>>>>
> >>>>>>>>>>> Just for a bit of context, this is the output of running cloc
> on the
> >>>>>>>>>> Flink
> >>>>>>>>>>> codebase:
> >>>>>>>>>>> ------------------------------------------------------------
> >>>>>>>>>>> -----------------------
> >>>>>>>>>>> Language                         files          blank
> comment
> >>>>>>>>>>>   code
> >>>>>>>>>>> ------------------------------------------------------------
> >>>>>>>>>>> -----------------------
> >>>>>>>>>>> Java                              4609         126825
>  185428
> >>>>>>>>>>> 519096
> >>>>>>>>>>>
> >>>>>>>>>>> => 704,524 lines of code + comments/javadoc
> >>>>>>>>>>>
> >>>>>>>>>>> When I apply the google style to the Flink code base using
> >>>>>>>>>>> https://github.com/google/google-java-format <
> https://github.com/google/google-java-format> I get these commit
> >>>>>>>>>>> statistics:
> >>>>>>>>>>>
> >>>>>>>>>>> 4577 files changed, 647645 insertions(+), 622663 deletions(-)
> >>>>>>>>>>>
> >>>>>>>>>>> That is, a change to the Google Code Style would touch roughly
> over
> >>>>>>>> 90%
> >>>>>>>>>> of
> >>>>>>>>>>> all code/comment lines.
> >>>>>>>>>>>
> >>>>>>>>>>> I would like to have a well defined code style, such as the
> Google
> >>>>>>>> Code
> >>>>>>>>>>> style, that has nice tooling and support but I don't think we
> will
> >>>>>>>> ever
> >>>>>>>>>>> convince enough people to do this kind of massive change. Even
> I
> >>>>>>>> think
> >>>>>>>>>> it's
> >>>>>>>>>>> a bit crazy to change 90% of the code base in one commit.
> >>>>>>>>>>>
> >>>>>>>>>>> On Mon, 27 Feb 2017 at 11:10 Till Rohrmann <
> trohrm...@apache.org <mailto:trohrm...@apache.org>>
> >>>>>>>>> wrote:
> >>>>>>>>>>>> No, I think that's exactly what people mean when saying
> "losing the
> >>>>>>>>>>> commit
> >>>>>>>>>>>> history". With the reformatting you would have to go manually
> >>>>>>>> through
> >>>>>>>>>> all
> >>>>>>>>>>>> past commits until you find the commit which changed a given
> line
> >>>>>>>>>> before
> >>>>>>>>>>>> the reformatting.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Cheers,
> >>>>>>>>>>>> Till
> >>>>>>>>>>>>
> >>>>>>>>>>>> On Sun, Feb 26, 2017 at 6:32 PM, Alexander Alexandrov <
> >>>>>>>>>>>> alexander.s.alexand...@gmail.com <mailto:alexander.s.
> alexand...@gmail.com>> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>>> Just to clarify - by "losing the commit history" you actually
> >>>>>>>> mean
> >>>>>>>>>>>> "losing
> >>>>>>>>>>>>> the ability to annotate each line in a file with its last
> >>>>>>>> commit",
> >>>>>>>>>>> right?
> >>>>>>>>>>>>> Or is there some other sense in which something is lost after
> >>>>>>>>>> applying
> >>>>>>>>>>>> bulk
> >>>>>>>>>>>>> re-format?
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Cheers,
> >>>>>>>>>>>>> A.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> On Sat, Feb 25, 2017 at 7:10 AM Henry Saputra <
> >>>>>>>>>> henry.sapu...@gmail.com <mailto:henry.sapu...@gmail.com>
> >>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>> Just want to clarify what unify code style here.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Is the intention to have IDE and Maven plugins to have the
> same
> >>>>>>>>>> check
> >>>>>>>>>>>>> style
> >>>>>>>>>>>>>> rules?
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Or are we talking about having ONE code style for both Java
> and
> >>>>>>>>>>> Scala?
> >>>>>>>>>>>>>> - Henry
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> On Fri, Feb 24, 2017 at 8:08 AM, Greg Hogan <
> >>>>>>>> c...@greghogan.com <mailto:c...@greghogan.com>>
> >>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>> I agree wholeheartedly with Ufuk. We cannot reformat the
> >>>>>>>>>> codebase,
> >>>>>>>>>>>>> cannot
> >>>>>>>>>>>>>>> pause while flushing the PR queue, and won't find a
> consensus
> >>>>>>>>>> code
> >>>>>>>>>>>>> style.
> >>>>>>>>>>>>>>> I think we can create a baseline code style for new and
> >>>>>>>>> existing
> >>>>>>>>>>>>>>> contributors for which reformatting on changed files will
> be
> >>>>>>>>>>>> acceptable
> >>>>>>>>>>>>>> for
> >>>>>>>>>>>>>>> PR reviews.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Fri, Feb 24, 2017 at 5:01 AM, Dawid Wysakowicz <
> >>>>>>>>>>>>>>> wysakowicz.da...@gmail.com <mailto:wysakowicz.dawid@
> gmail.com>> wrote:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> The problem with code style when it is not enforced is
> that
> >>>>>>>>> it
> >>>>>>>>>>> will
> >>>>>>>>>>>>> be
> >>>>>>>>>>>>>> a
> >>>>>>>>>>>>>>>> matter of luck to what parts of files / new files will it
> >>>>>>>> be
> >>>>>>>>>>>> applied.
> >>>>>>>>>>>>>>> When
> >>>>>>>>>>>>>>>> the code style is not applied to whole file, it is pretty
> >>>>>>>>> much
> >>>>>>>>>>>>> useless
> >>>>>>>>>>>>>>>> anyway. You would need to manually select just the
> >>>>>>>> fragments
> >>>>>>>>>> one
> >>>>>>>>>>> is
> >>>>>>>>>>>>>>>> changing. The benefits of having code style and enforcing
> >>>>>>>> it
> >>>>>>>>> I
> >>>>>>>>>>> see
> >>>>>>>>>>>>> are:
> >>>>>>>>>>>>>>>> - being able to apply autoformatter, which speeds up
> >>>>>>>> writing
> >>>>>>>>>>> code
> >>>>>>>>>>>>>>>> - it would make reviewing PRs easier as e.g. there would
> >>>>>>>> be
> >>>>>>>>>> line
> >>>>>>>>>>>>>> length
> >>>>>>>>>>>>>>>> limit applied etc. which will make line breaking more
> >>>>>>>> reader
> >>>>>>>>>>>>> friendly.
> >>>>>>>>>>>>>>>> Though I think if a consensus is not reachable it would be
> >>>>>>>>> good
> >>>>>>>>>>> to
> >>>>>>>>>>>>> once
> >>>>>>>>>>>>>>> and
> >>>>>>>>>>>>>>>> forever decide that we don't want a code style and
> >>>>>>>>> checkstyle.
> >>>>>>>>>>>>>>>> 2017-02-24 10:51 GMT+01:00 Ufuk Celebi <u...@apache.org
> <mailto:u...@apache.org>>:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> On Fri, Feb 24, 2017 at 10:46 AM, Fabian Hueske <
> >>>>>>>>>>>> fhue...@gmail.com <mailto:fhue...@gmail.com>
> >>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>> I agree with Till that encouraging a code style without
> >>>>>>>>>>>> enforcing
> >>>>>>>>>>>>>> it
> >>>>>>>>>>>>>>>> does
> >>>>>>>>>>>>>>>>>> not make a lot of sense.
> >>>>>>>>>>>>>>>>>> If we enforce it, we need to touch all files and PRs.
> >>>>>>>>>>>>>>>>> I think it makes sense for new contributors to have a
> >>>>>>>>>> starting
> >>>>>>>>>>>>> point
> >>>>>>>>>>>>>>>>> without enforcing anything (I do agree that we are past
> >>>>>>>> the
> >>>>>>>>>>> point
> >>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>> reach consensus on a style and enforcement ;-)).
> >>>>>>>>>>>>>>>>>
> >>
> >
>
>

Reply via email to