Hey Stephan,

On 08 Mar 2015, at 23:17, Stephan Ewen <se...@apache.org> wrote:

> Hi everyone!
> 
> I would like to start an open discussion about some issue with the
> heterogeneity of the Flink code base.

Thanks for bringing this up. I agree with your position. The related discussion 
about using Guava vs. Validate is a good step into the right direction. In 
general, I think it's super hard to get more homogeneity without enforcing 
rules (like in the Guava/Validate discussion). I would be OK with trying to 
settle on rules and then enforcing them. But I'm not sure whether that is what 
you are asking for? Are you more aiming at a "Let's keep it in mind" kind of 
thingy?!

> 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.

I think these are easily enforceable and could also be changed manually w/o too 
much hassle. 

> - 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)

This is something we could more strictly enforce in pull requests and generally 
ask people to refrain from.

> - 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).

This is an artifact of the mixed Scala/Java discussion. I agree that this can 
be problematic, but I'm not sure how to solve this as long as we mix Java/Scala 
in the same modules?! For new code in the runtime, we could stick to one 
language. What do you propose here as a solution?

> I am eager to hear opinions!

As I've said, I agree with your points, but I think a big issue for new comers 
and committers alike is missing documentation in the code. We should try to 
keep the discussion we had in that regard in mind as well.

– Ufuk

Reply via email to