I agree. A unified rule-set for code style & formatting would make new
contributions easier. There should be also a configuration guide for
different IDEs.

Peter

2015-03-08 23:17 GMT+01:00 Stephan Ewen <se...@apache.org>:

> Hi everyone!
>
> I would like to start an open discussion about some issue with the
> heterogeneity of the Flink code base.
>
> We have, since the beginning in Apache (and even since we started the
> predecessor project, Stratosphere) refrained from strictly enforcing
> conventions like formatting, style, or libraries. I like the idea behind
> it, that committers and contributors are not forced into a corset of
> hundreds of rules before they can contribute something.
>
> As the project is growing, more and more people with different backgrounds
> have joined, and the project has grown a bit heterogeneous in several
> parts. In many cases, not necessarily due to need for different
> functionality, but simply due to "roll your own style". I think this is
> starting to become a bit of an issue.
>
> Here are a few examples:
>
>  - Parameter checking is sometimes done with commons-lang3, commons-lang,
> or guava
>
>  - Command line parsing is sometimes done with commons-cli, sometimes with
> scopt.
>
>  - Code styles are quite different from commit to commit. Spaces,
> indentations, braces. Not a critical thing, but seems to encourage people
> to reformat other people's code, whenever the pass over it, which should be
> avoided (cluttered diffs, may introduce new bugs actually)
>
>  - Some projects are mixed Java/Scala, which is not perfectly supported by
> the tools so far. It also needs many "fromJava / toJava" conversions and
> makes the entry hurdle into the project higher.
>
>  - Tests are sometimes written as Java Unit tests, sometimes as Scala Unit
> tests (method style), sometimes as Scala Unit Tests (grammar style).
>
> Not all things need to be unified across the entire Flink code base. But it
> becomes harder to switch between projects, even for seasoned Flinksters.
> And it becomes a hurdle for new contributors, which is very critical.
>
> I, personally, would like to encourage people to keep this in mind. Easier
> understanding of the code and easier entry for newcomers (for which a
> certain homogeneity helps quite a bit) should have a higher priority than
> the desire to stick to the personal favorite code style or library. This is
> a big community effort, after all.
>
> That said, we should not, of course, block of the use of new
> libraries/languages/features when they have significant benefit over the
> existing state.
>
> I am eager to hear opinions!
>
> Stephan
>

Reply via email to