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