+1 for the google style, but keeping tabs. I'm against a too narrow line length limitation (at least 100)
On Thu, Oct 22, 2015 at 6:05 PM, Henry Saputra <henry.sapu...@gmail.com> wrote: > Could we make certain rules to give warning instead of error? > > This would allow us to cherry-pick certain rules we would like people > to follow but not strictly enforced. > > - Henry > > On Thu, Oct 22, 2015 at 9:20 AM, Stephan Ewen <se...@apache.org> wrote: > > I don't think a "let add comments to everything" effort gives us good > > comments, actually. It just gives us checkmark comments that make the > rules > > pass. > > > > On Thu, Oct 22, 2015 at 3:29 PM, Fabian Hueske <fhue...@gmail.com> > wrote: > > > >> Sure, I don't expect it to be free. > >> But everybody should be aware of the cost of adding this code style, > i.e., > >> spending a huge amount of time on reformatting and documenting code. > >> > >> Alternatively, we could drop the JavaDocs rule and make the transition > >> significantly cheaper. > >> > >> 2015-10-22 15:24 GMT+02:00 Till Rohrmann <trohrm...@apache.org>: > >> > >> > There ain’t no such thing as a free lunch and code style. > >> > > >> > On Thu, Oct 22, 2015 at 3:13 PM, Maximilian Michels <m...@apache.org> > >> > wrote: > >> > > >> > > I think we have to document all these classes. Code Style doesn't > come > >> > > for free :) > >> > > > >> > > On Thu, Oct 22, 2015 at 3:09 PM, Fabian Hueske <fhue...@gmail.com> > >> > wrote: > >> > > > Any ideas how to deal with the mandatory JavaDoc rule for existing > >> > code? > >> > > > Just adding empty headers to make the checkstyle pass or start a > >> > serious > >> > > > effort to add the missing docs? > >> > > > > >> > > > 2015-10-21 13:31 GMT+02:00 Matthias J. Sax <mj...@apache.org>: > >> > > > > >> > > >> Agreed. That's the reason why I am in favor of using vanilla > Google > >> > code > >> > > >> style. > >> > > >> > >> > > >> On 10/21/2015 12:31 PM, Stephan Ewen wrote: > >> > > >> > We started out originally with mixed tab/spaces, but it ended > up > >> > with > >> > > >> > people mixing spaces and tabs arbitrarily, and there is little > way > >> > to > >> > > >> > enforce Matthias' specific suggestion via checkstyle. > >> > > >> > That's why we dropped spaces alltogether... > >> > > >> > > >> > > >> > On Wed, Oct 21, 2015 at 12:03 PM, Gyula Fóra < > >> gyula.f...@gmail.com> > >> > > >> wrote: > >> > > >> > > >> > > >> >> I think the nice thing about a common codestyle is that > everyone > >> > can > >> > > set > >> > > >> >> the template in the IDE and use the formatting commands. > >> > > >> >> > >> > > >> >> Matthias's suggestion makes this practically impossible so -1 > for > >> > > mixed > >> > > >> >> tabs/spaces from my side. > >> > > >> >> > >> > > >> >> Matthias J. Sax <mj...@apache.org> ezt írta (időpont: 2015. > okt. > >> > > 21., > >> > > >> Sze, > >> > > >> >> 11:46): > >> > > >> >> > >> > > >> >>> I actually like tabs a lot, however, in a "mixed" style > together > >> > > with > >> > > >> >>> spaces. Example: > >> > > >> >>> > >> > > >> >>> myVar.callMethod(param1, // many more > >> > > >> >>> .................paramX); // the dots mark space > >> indention > >> > > >> >>> > >> > > >> >>> indenting "paramX" with tabs does not give nice aliment. Not > >> sure > >> > if > >> > > >> >>> this would be a feasible compromise to keeps tabs in general, > >> but > >> > > use > >> > > >> >>> space for cases as above. > >> > > >> >>> > >> > > >> >>> If this in no feasible compromise, I would prefer space to > get > >> the > >> > > >> >>> correct indention in examples as above. Even if this result > in a > >> > > >> >>> complete reformatting of the whole code. > >> > > >> >>> > >> > > >> >>> > >> > > >> >>> Why this? Everybody can set this in it's IDE/editor as he/she > >> > > wishes... > >> > > >> >>> > >> > > >> >>>>> If we keep tabs, we will have to specify the line length > >> > relative > >> > > to > >> > > >> a > >> > > >> >>> tab > >> > > >> >>>>> size (like 4). > >> > > >> >>> > >> > > >> >>> > >> > > >> >>> -Matthias > >> > > >> >>> > >> > > >> >>> > >> > > >> >>> > >> > > >> >>> > >> > > >> >>> > >> > > >> >>> On 10/21/2015 11:06 AM, Ufuk Celebi wrote: > >> > > >> >>>> To summarize up to this point: > >> > > >> >>>> > >> > > >> >>>> - All are in favour of Google check style (with the > following > >> > > possible > >> > > >> >>>> exceptions) > >> > > >> >>>> - Proposed exceptions so far: > >> > > >> >>>> * Specific line length 100 vs. 120 characters > >> > > >> >>>> * Keep tabs instead converting to spaces (this would > >> translate > >> > to > >> > > >> >>>> skipping/coming up with some indentation rules as well) > >> > > >> >>>> > >> > > >> >>>> If we keep tabs, we will have to specify the line length > >> relative > >> > > to a > >> > > >> >>> tab > >> > > >> >>>> size (like 4). > >> > > >> >>>> > >> > > >> >>>> Let’s keep the discussion going a little longer. I think it > has > >> > > >> >> proceeded > >> > > >> >>>> in a very reasonable manner so far. Thanks for this! > >> > > >> >>>> > >> > > >> >>>> – Ufuk > >> > > >> >>>> > >> > > >> >>>> On Wed, Oct 21, 2015 at 10:29 AM, Fabian Hueske < > >> > fhue...@gmail.com > >> > > > > >> > > >> >>> wrote: > >> > > >> >>>> > >> > > >> >>>>> Thanks Max for checking the modifications by the Google > code > >> > > style. > >> > > >> >>>>> It is very good to know, that the impact on the code base > >> would > >> > > not > >> > > >> be > >> > > >> >>> too > >> > > >> >>>>> massive. If the Google code style would have touched almost > >> > every > >> > > >> >> line, > >> > > >> >>> I > >> > > >> >>>>> would have been in favor of converting to spaces. However, > >> your > >> > > >> >>> assessment > >> > > >> >>>>> is a strong argument to continue with tabs, IMO. > >> > > >> >>>>> > >> > > >> >>>>> Regarding the line length limit, I personally find 100 > chars > >> too > >> > > >> >> narrow > >> > > >> >>> but > >> > > >> >>>>> would be +1 for having a limit. > >> > > >> >>>>> > >> > > >> >>>>> +1 for discussing the Scala style in a separate thread. > >> > > >> >>>>> > >> > > >> >>>>> Fabian > >> > > >> >>>>> > >> > > >> >>>>> 2015-10-20 18:12 GMT+02:00 Maximilian Michels < > m...@apache.org > >> >: > >> > > >> >>>>> > >> > > >> >>>>>> I'm a little less excited about this. You might not be > aware > >> > but, > >> > > >> for > >> > > >> >>>>>> a large portion of the source code, we already follow the > >> > Google > >> > > >> >> style > >> > > >> >>>>>> guide. The main changes will be tabs->spaces and 80/100 > >> > > characters > >> > > >> >>>>>> line limit. > >> > > >> >>>>>> > >> > > >> >>>>>> Out of curiosity, I ran the official Google Style > Checkstyle > >> > > >> >>>>>> configuration to confirm my suspicion: > >> > > >> >>>>>> > >> > > >> >>>>>> > >> > > >> >>>>> > >> > > >> >>> > >> > > >> >> > >> > > >> > >> > > > >> > > >> > https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml > >> > > >> >>>>>> The changes are very little if we turn off line length > limit > >> > and > >> > > >> >>>>>> tabs-to-spaces conversion. > >> > > >> >>>>>> > >> > > >> >>>>>> There are some things I really like about the Google > style, > >> > e.g. > >> > > >> >> every > >> > > >> >>>>>> class has to have a JavaDoc and spaces after keywords > (can't > >> > > stand > >> > > >> if > >> > > >> >>>>>> there aren't any). I'm not sure if we should change tabs > to > >> > > spaces, > >> > > >> >>>>>> because it means touching almost every single line of > code. > >> > > However, > >> > > >> >>>>>> if we keep the tabs, we cannot make use of the different > >> > > indention > >> > > >> >> for > >> > > >> >>>>>> case statements or wrapped lines...maybe that's a > compromise > >> we > >> > > can > >> > > >> >>>>>> live with. > >> > > >> >>>>>> > >> > > >> >>>>>> If we introduce the Google Style for Java, will we also > >> impose > >> > a > >> > > >> >>>>>> stricter style check for Scala? IMHO the line length is > the > >> > > >> strictest > >> > > >> >>>>>> part of the Scala Checkstyle. > >> > > >> >>>>>> > >> > > >> >>>>>> > >> > > >> >>>>>> On Tue, Oct 20, 2015 at 4:14 PM, Henry Saputra < > >> > > >> >>> henry.sapu...@gmail.com> > >> > > >> >>>>>> wrote: > >> > > >> >>>>>>> 1) yes. Been dancing this issue for a while. Let's pull > the > >> > > >> trigger. > >> > > >> >>>>> Did > >> > > >> >>>>>>> the exercise with Tachyon while back and did help > >> readability > >> > > and > >> > > >> >>>>>>> homogeneity of code. > >> > > >> >>>>>>> > >> > > >> >>>>>>> 2) +1 for Google Java style with documented exceptions > and > >> > > >> >> explanation > >> > > >> >>>>> on > >> > > >> >>>>>>> why. > >> > > >> >>>>>>> > >> > > >> >>>>>>> On Tuesday, October 20, 2015, Ufuk Celebi < > u...@apache.org> > >> > > wrote: > >> > > >> >>>>>>> > >> > > >> >>>>>>>> DISCLAIMER: This is not my personal idea, but a > community > >> > > >> >> discussion > >> > > >> >>>>>> from > >> > > >> >>>>>>>> some time ago. Don't kill the messenger. > >> > > >> >>>>>>>> > >> > > >> >>>>>>>> In March we were discussing issues with heterogeneity of > >> the > >> > > code > >> > > >> >>> [1]. > >> > > >> >>>>>> The > >> > > >> >>>>>>>> summary is that we had a consensus to enforce a stricter > >> code > >> > > >> style > >> > > >> >>> on > >> > > >> >>>>>> our > >> > > >> >>>>>>>> Java code base in order to make it easier to switch > between > >> > > >> >> projects > >> > > >> >>>>>> and to > >> > > >> >>>>>>>> have clear rules for new contributions. The main > proposal > >> in > >> > > the > >> > > >> >> last > >> > > >> >>>>>>>> discussion was to go with Google's Java code style. Not > all > >> > > were > >> > > >> >>> fully > >> > > >> >>>>>>>> satisfied with this, but still everyone agreed on some > kind > >> > of > >> > > >> >> style. > >> > > >> >>>>>>>> > >> > > >> >>>>>>>> I think the upcoming 0.10 release is a good point to > >> finally > >> > go > >> > > >> >>>>> through > >> > > >> >>>>>>>> with these changes (right after the release/branch-off). > >> > > >> >>>>>>>> > >> > > >> >>>>>>>> I propose to go with Google's Java code style [2] as > >> proposed > >> > > >> >>> earlier. > >> > > >> >>>>>>>> > >> > > >> >>>>>>>> PROs: > >> > > >> >>>>>>>> - Clear style guide available > >> > > >> >>>>>>>> - Tooling like checkstyle rules, IDE plugins already > >> > available > >> > > >> >>>>>>>> > >> > > >> >>>>>>>> CONs: > >> > > >> >>>>>>>> - Fully breaks our current style > >> > > >> >>>>>>>> > >> > > >> >>>>>>>> The main problem with this will be open pull requests, > >> which > >> > > will > >> > > >> >> be > >> > > >> >>>>>> harder > >> > > >> >>>>>>>> to merge after all the changes. On the other hand, > should > >> > pull > >> > > >> >>>>> requests > >> > > >> >>>>>>>> that have been open for a long time block this? Most of > the > >> > > >> >> important > >> > > >> >>>>>>>> changes will be merged for the release anyways. I think > in > >> > the > >> > > >> long > >> > > >> >>>>> run > >> > > >> >>>>>> we > >> > > >> >>>>>>>> will gain more than we loose by this (more homogenous > code, > >> > > clear > >> > > >> >>>>>> rules). > >> > > >> >>>>>>>> And it is questionable whether we will ever be able to > do > >> > such > >> > > a > >> > > >> >>>>> change > >> > > >> >>>>>> in > >> > > >> >>>>>>>> the future if we cannot do it now. The project will most > >> > likely > >> > > >> >> grow > >> > > >> >>>>> and > >> > > >> >>>>>>>> attract more contributors, at which point it will be > even > >> > > harder > >> > > >> to > >> > > >> >>>>> do. > >> > > >> >>>>>>>> > >> > > >> >>>>>>>> Please make sure to answer the following points in the > >> > > discussion: > >> > > >> >>>>>>>> > >> > > >> >>>>>>>> 1) Are you (still) in favour of enforcing stricter > rules on > >> > the > >> > > >> >> Java > >> > > >> >>>>>>>> codebase? > >> > > >> >>>>>>>> > >> > > >> >>>>>>>> 2) If yes, would you be OK with the Google's Java code > >> style? > >> > > >> >>>>>>>> > >> > > >> >>>>>>>> – Ufuk > >> > > >> >>>>>>>> > >> > > >> >>>>>>>> [1] > >> > > >> >>>>>>>> > >> > > >> >>>>>>>> > >> > > >> >>>>>> > >> > > >> >>>>> > >> > > >> >>> > >> > > >> >> > >> > > >> > >> > > > >> > > >> > http://mail-archives.apache.org/mod_mbox/flink-dev/201503.mbox/%3ccanc1h_von0b5omnwzxchtyzwhakeghbzvquyk7s9o2a36b8...@mail.gmail.com%3e > >> > > >> >>>>>>>> > >> > > >> >>>>>>>> [2] https://google.github.io/styleguide/javaguide.html > >> > > >> >>>>>>>> > >> > > >> >>>>>> > >> > > >> >>>>> > >> > > >> >>>> > >> > > >> >>> > >> > > >> >>> > >> > > >> >> > >> > > >> > > >> > > >> > >> > > >> > >> > > > >> > > >> >